黑马程序员技术交流社区

标题: 多线程安全问题 [打印本页]

作者: 滴水石穿    时间: 2014-12-15 22:44
标题: 多线程安全问题
自己今天所学的多线程 有所了解,和在多线程方面模糊的兄弟共享,如有不当还望教诲:
多线程安全问题:当一个线程共享数据的时候,此时被多条语句所操作,这个线程会对多条语句执行一部分的
                           时候,另一个线程参与了进来执行,导致共享数据的错误,此时就出现了多线程安全问题。
                           只有当这个线程执行完这几条语句,在让下一个线程执行,就可以解决多线程安全问题了。

作者: zhaozhao    时间: 2014-12-16 12:04
我认为,死锁和多线程同时挂起,也属于线程安全问题!
作者: 滴水石穿    时间: 2014-12-17 14:48
zhaozhao 发表于 2014-12-16 12:04
我认为,死锁和多线程同时挂起,也属于线程安全问题!

那 照你这样说,遇到死锁和多线程同时挂起,该何以应对啊?
作者: zhaozhao    时间: 2014-12-17 16:17
死锁是一种我们要尽量避免的状态:即一个线程要完成一个功能,需要两个(或两个以上)加锁的代码块;但是两个线程同时都获取到了一把锁,两个线程僵持不下,就进入死锁!
个人感觉死锁尽量避免就可以了,而对于多线程同时挂起的状态,可以用notifyAll();函数唤醒所有等待线程,也可以使用condition对象的signal函数,针对性的唤醒,防止多线程同时进入挂起状态!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2