说明:双击或选中下面任意单词,将显示该词的音标、读音、翻译等;选中中文或多个词,将显示翻译。
您的位置:首页 -> 词典 -> 活锁 (for database)
1)  livelock
活锁 (for database)
2)  dead lock
死锁 (for database)
3)  row lock
行锁 (for database)
4)  shared lock
共享锁 (for database)
5)  key [英][ki:]  [美][ki]
键 (for database)
6)  row [英][rəʊ]  [美][ro]
行 (for database)
补充资料:死锁


死锁
deadlock

5 ISUO死锁(deedl仪k)多个进程因竞争共享资源而处于永远等待的状态。例如,一个系统含有资源Rl,凡,两个进程A,B分别占有其中一个资源而申请另一个资源,这样就出现了进程A占有资源Rl而等待进程B释放资源凡;进程B占有资源R2而等待进程A释放资源Rl,于是这两个进程都不能执行下去而处于永远等待的死锁状态。 产生死锁的因素很多,不仅与系统拥有的资源数量有关,而且与资源分配策略,进程对资源的使用要求有关。出现死锁不仅会造成资源浪费,无法正常工作,严重时会使系统崩溃。因此,必须妥善解决和预防系统发生死锁。 有3种途径解决死锁间题: (l)死锁防止是指采取措施保证系统不产生死锁。 系统产生死锁必须同时保持4个必要条件:①互斥条件进程互斥使用资源;②部分分配条件一个进程请求资源得不到满足而等待时,不释放已占有资源;③不抢占条件任一进程不能从另一进程那里抢夺资源;④循环等待条件存在一个循环等待链,其中,每个进程分别等待它前一个进程占有的资源。 只要能破坏上述4个必要条件的一个或几个,死锁就可防止。例如,系统采用资源静态分配法或资源层次分配法,则可破坏上述条件②或④,从而,可防止系统发生死锁。 (2)死锁避免是指采取措施避免系统产生死锁。 防止死锁发生代价太高,使资源利用率低,系统效率差。如果系统动态分配资源,在分配过程中,掌握每个进程的资源申请情况,当把资源分配给申请者会产生死锁的话,就拒绝分配;否则接受申请,为进程分配资源。这样可动态测出发生死锁的可能性并加以避免。银行家算法是著名的死锁避免算法。 (3)死锁检测是指采取措施找出系统中已发生的死锁并加以解决。 对资源的分配加以限制不利于进程对资源的共享和提高系统效率。解决死锁的另一条途径是死锁检测,即对资源的分配不加任何限制,系统定时运行一个“死锁检测”程序,判断系统内是否发生死锁,若检测到死锁再设法加以解除。例如,可撤消某些有关进程,从一个进程那里剥夺资源等。进程资源图及Petri网等技术都可用来有效地判断系统是否发生死锁。
说明:补充资料仅用于学习参考,请勿用于其它任何用途。
参考词条