死锁 编辑
死锁,又译为,计算机科学名词。当两个以上的运算单元,双方都在等待对方停止执行,以取得系统资源,但是没有一方提前退出时,就称为死结。在多工操作系统中,操作系统为了协调不同线程,能否取得系统资源时,为了让系统正常运作,必须要解决这个问题。另一种相似的情况称为“活锁”。
1
相关
E语言是1997年由Mark S. Miller、Dalvik虚拟机和Electric Communities的其他人创建的用于计算机安全分布式计算的面向对象程序设计语言。E语言主要源自于安全分布式编程中Java的并行语言Joule和Original-E,后者是Java的一组扩展。E将基于讯息传递的计算与类Java语法相结合。基于事件驱动程式设计和Promise的并发计算模型确保永远不会发生死锁
驱动程式检查器是Microsoft Windows中包含的一个工具,该工具的功能是将操作系统默认的子程序替换为专门为开发者捕获驱动程序程序错误所用的子程序。在启用该工具后,它将监控和凸显可能因驱动程序导致系统损坏的非法函数调用或操作。它可以模拟一些条件,如低内存、I/O验证、记忆池跟踪、IRQL检查、死锁检测、直接内存存取检测、I/O请求数据包记录等。检查器通过迫使驱动程序以最少的资源运行使其凸显不太容易发生的潜在缺陷。
银行家算法是一个避免死锁的著名算法,是由艾兹赫尔·戴克斯特拉在1965年为THE 操作系统设计的一种避免死结产生的算法。它以银行借贷系统的分配策略为基础,判断并保证系统的安全运行。
无穷循环或称为无限循环,是指计算机程序的控制流程一直在重复执行某一段程式码,无法结束的情形,其原因可能是因为程式中的循环没有设结束循环条件,或是结束循环的条件不可能成立等。在合作式多工的操作系统中,无穷循环会使系统没有反应,若是先占式多工的系统中,无穷循环会用掉所有可用的处理器时间,不过可以由使用户结束程序。无穷循环是造成系统假死机的原因之一,其他的可能原因包括死锁或是内存区段错误。
无穷循环或称为无限循环,是指计算机程序的控制流程一直在重复执行某一段程式码,无法结束的情形,其原因可能是因为程式中的循环没有设结束循环条件,或是结束循环的条件不可能成立等。在合作式多工的操作系统中,无穷循环会使系统没有反应,若是先占式多工的系统中,无穷循环会用掉所有可用的处理器时间,不过可以由使用户结束程序。无穷循环是造成系统假死机的原因之一,其他的可能原因包括死锁或是内存区段错误。
无穷循环或称为无限循环,是指计算机程序的控制流程一直在重复执行某一段程式码,无法结束的情形,其原因可能是因为程式中的循环没有设结束循环条件,或是结束循环的条件不可能成立等。在合作式多工的操作系统中,无穷循环会使系统没有反应,若是先占式多工的系统中,无穷循环会用掉所有可用的处理器时间,不过可以由使用户结束程序。无穷循环是造成系统假死机的原因之一,其他的可能原因包括死锁或是内存区段错误。
计算机科学中,可重入互斥锁是互斥锁的一种,同一线程对其多次加锁不会产生死锁。可重入互斥锁也称递归互斥锁或递归锁。