A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 滴水石穿 中级黑马   /  2014-12-15 22:44  /  1134 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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

3 个回复

倒序浏览
我认为,死锁和多线程同时挂起,也属于线程安全问题!
回复 使用道具 举报
zhaozhao 发表于 2014-12-16 12:04
我认为,死锁和多线程同时挂起,也属于线程安全问题!

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