解决线程共享同操作的数据的安全性。(线程安全)
synchronized(同步监视器){
// 需要被同步的代码
}
1.操作共享数据的代码,即为需要被同步的代码。—>不能包含代码多了,也不能包含代码少了。
2.共享数据:多个线程共同操作的变量。比如:车站卖的票的数量就是共享数据。
3.同步监视器,俗称:锁,任何一个类的对象,都可以充当锁。
--要求:多个线程必须要共用同一把锁。
--在实现Runnable接口创建多线程的方式中,我们可以考虑使用this充当同步监视器。
如果操作共享数据的代码完整的声明在一个方法中,我们不妨将此方法声明同步的。
@Override
public void run(){
show();
}
private synchronized void show(){ //同步监视器:this
// 需要被同步的代码
}
private static synchronized void show(){ //同步监视器:windows.class
// 需要被同步的代码
}
1.同步方法仍然涉及到同步监视器,知识不需要我们显示声明。
本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕,E-mail:xinmeigg88@163.com
本文链接:http://www.glev.cn/tnews/520.html