码迷,mamicode.com
首页 > 编程语言 > 详细

死锁和线程的通信

时间:2014-12-13 23:15:38      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:方法   对象   不同的   线程   it   第一个   没有   需要   c   

1 定义: 不同的线程分别占用对方需要的同步资源不放弃,都在等待对方放弃自己需要的同步资源,形成线程的死锁

2 过程:例如:主线程利用对象占用了一个同步锁,然后执行sleep方法。如果在sleep过程中没有其他线程进入,则主线程继续执行占用后面的同步锁,不会产生死锁;但如果有其他线程进入,其他线程先占用了后面的同步锁,再去要求第一个同步锁时就产生死锁。

3 Object类中的三个方法:

wait():当前线程挂起并放弃cpu,同步资源使其他线程可访问并修改共享资源,而当前线程排队等候

notify():唤醒正在排队等待同步资源的线程最高者结束等待。因为是队列是先进先出的,所以可以配合wait方法实现交替打印。

notifyAll():唤醒正在排队等待同步资源的所有线程结束等待

死锁和线程的通信

标签:方法   对象   不同的   线程   it   第一个   没有   需要   c   

原文地址:http://www.cnblogs.com/yjtm53/p/4161928.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!