2012年10月9日

Java并发编程——线程带来的风险

摘要: 在并发中有两种方式,一是多进程,二是多线程,但是线程相比进程花销更小且能共享资源。多线程将会带来几个问题: 一、安全性问题。 线程安全性可能是非常复杂的,多线程中的操作执行顺序是不可预测的,甚至会产生奇怪的结果,另外由于存在指令重排序的可能,因此实际情况会很糟糕。 有一种常见的并发安全问题叫“竞态条件”。由于多个线程要共享相同的内存地址空间,并且是并发运行,因此它们可能会访问或修改其他线程正在使用的变量。这带来的极大的便利,但是也有巨大的风险:线程会由于无法预料的数据变化而发生错误。当多个线程同时访问和修改相同的变量时,将会在串行编程模型中引入非串行因素,而这种非串行性是很难分析... 阅读全文

posted @ 2012-10-09 15:34 Boing Tan 阅读(475) 评论(0) 推荐(0)

导航