线程间的资源互斥共享

来源:互联网 发布:监控服务器软件 编辑:程序博客网 时间:2024/03/29 21:52
 
通常,一些同时运行的线程需要共享数据。在这种时候,每个线程就必须要考虑其他与他一起共享数据的线程的状态与行为,否则的话就不能保证共享数据的一致性,从而也就不能保证程序的正确性。
 
Java语言中,引入了对象互斥锁的概念(又称为监视器、管程)来实现不同线程对共享数据操作的同步。对象互斥锁阻止多个线程同时访问同一个条件变量。
 
synchronized来标识的区域或方法即为对象互斥锁锁住的部分。如果一个程序内有两个或以上的方法使用synchronized标志,则它们在同一个对象互斥锁管理之下。
 
一般情况下,都使用synchronized关键字在方法的层次上实现对共享资源操作的同步,很少使用volatile关键字声明共享变量。
 
原创粉丝点击