`
zhangqingxin
  • 浏览: 11418 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Single Threaded Execution 死锁条件

 
阅读更多

      所谓死锁,是指两个线程分别获取了锁定,互相等待另一个线程解除锁定的现象。

      举例,假设A和B同吃一个大盘子所盛放的意大利面。盘子旁边只有一只汤匙和一只叉子,吃面时需要同时用到汤匙与叉子。此时,汤匙被A拿去了,叉子却又被B拿去了。A和B一直等待对方把餐具放下。像A和B这样面面相窥的现象就叫死锁。

 

(1)具有多个SharedResource参与者。

(2)线程锁定一个SharedResource时,还没解除前就去锁定另一个SharedResource。

(3)获取SharedResource参与者得顺序不固定(和SharedResource参与者是对等的)。

 

举例:

(1)多个SharedResource参与者,相当于汤匙与叉子。

(2)锁定某个SharedResource参与者后,就去锁定其他SharedResource。就相当于或者汤匙想要获取对方的叉子,或者反之。

(3)SharedResource角色是对等的。也就是说汤匙与叉子没有优先级。

 

     三个条件破坏其一就可以避免死锁的发生。

 

分享到:
评论

相关推荐

    多线程.txt

    多线程入门,多线程基础知识,描述了Synchronized的线程互斥原理,和Single Threaded Execution模式,符合基础入门的用户可以好好学习,加深理解

    Java多线程详解

    1、Single Threaded Execution ———— 能通过这座桥的,只有一个人 2、Immutable ———— 想破坏它也没办法 3、Guarded Suspension ———— 要等到我们准本好哦 4、Balking ———— 不需要的话,就算了吧 5、...

    single-threaded-tcp-scanner.rar_single

    使用C++编写的扫描器源码。包括单线程tcp扫描器源代码。

    Single-threaded-file-transfer.zip_single

    实现单线程文件传输,不支持断点传出,功能相对简单,但是性能很好。

    操作系统—线程: Optimizing threaded MPI execution on SMP

    对SMP机器上的MPI的实现进行详细讲述,对thread理论有大帮助

    java多线程设计模式 (PDF中文版, 附源码)

    第1章 Single Threaded Execution——能通过这座桥的,只有一个人 第2章 Immutable——想破坏它也没办法 第3章 Guarded Suspension——要等到我准备好喔 第4章 Balking——不需要的话,就算了吧 第5章 Producer-...

    Single Threaded Proxy Server-开源

    stproxy是小型,快速且高效的HTTP / SSL代理,具有以下功能:高匿名性,基本的HTTP授权,使用Web界面的用户管理,异步dns解析器,单线程(仅一个进程线程)

    e Language Reference Mannal

    The e language is an object-oriented programming language. Although e can be ...• Constructs to support concurrency (multi-threaded execution) • Constructs to support connectivity (bit-level access)

    Multi-Threaded Game Engine Design

    Multi-Threaded Game Engine Design

    Python库 | threaded-4.0.8.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:threaded-4.0.8.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    MEC Threaded V3.08.0

    此软件包是“More Effective Coroutines”的升级,它使您可以使用与以前相同的yield return语法在主线程和外部线程之间来回切换。 通过允许您编写一个协程,该协程可以收集所需的所有数据,然后切换到一个单独的线程...

    Semantics of Asynchronous JavaScript

    Since the JavaScript language is single threaded, Node.js programs must make use of asynchronous callbacks and event loops managed by the runtime to ensure appli- cations remain responsive....

    elysium-single-threaded

    极乐世界 概述 Elysium 是一个 Runescape Classic 服务器模拟器。 该项目的目标是在功能完整性方面与 RSCD 项目相匹配,同时提供改进的代码库。 持续集成可以在这里找到: : ... IRC 频道:#elysium 和 #elysium-dev ...

    ActiveTcl8.4.16.0.282109-win32-ix86-threaded

    ActiveTcl8.4.16.0.282109-win32-ix86-threaded

    高效 Win 32 串行通信程序 MTTTY (Multi-Threaded TTY)

    MTTTY (Multi-Threaded TTY) 是一个容易使用的高效 Win 32 串行通信程序 文章“Serial Communications in Win32”提到的工具 类似超级终端中串口部分的程序,很不错 这个已经移植到vs2008上面的版本,debug 文件夹有...

    threaded-forum

    this is a simple forum

    systester.rar

    Single threaded calculation of Pi for benchmarking, similar to the well know SuperPi benchmark. Checksum validation over the result. Provides graphical and command line user interfaces.

    Multi-Threaded Tcl Scripts

    This chapter describes the Thread extension for creating multi-threaded Tcl scripts.

    ActiveTcl8.6.3.1.298624-win32-ix86-threaded

    ActiveTcl8.6.3.1.298624-win32-ix86-threaded,可以用来学习tcl语言

    Threaded Comments针对性的留言插件 for Wordpress.rar

    实现有针对性的留言。也就是可以针对某个留言进行留言,这个留言不出现在最底部,而是在所针对的留言的下方。

Global site tag (gtag.js) - Google Analytics