Java中synchronized的作用,什么情况下使用?
展开全部
synchronized是java中的一个关键字 我们称其为同步关键字 主要是用来处理java中的同步机制
同一个资源被用户并发访问时,会出现并发问题,比如:有一个实例变量x,第一个用户访问它,并赋值为100,但还没有来得及打印出x,另一个哥们进来访问了x,并改为200,这时候第一个哥们兴高采烈的打印出x的值,但却发现不是100,是200.这哥们就郁闷了,怎么回事呢?
这就是并发问题,但如果把上面的代码用同步代码块包含起来,任意一个时间只能有一个哥们访问实例变量x,一直到这哥们执行完同步代码块中的所有代码后,其他哥们才能再访问。
同一个资源被用户并发访问时,会出现并发问题,比如:有一个实例变量x,第一个用户访问它,并赋值为100,但还没有来得及打印出x,另一个哥们进来访问了x,并改为200,这时候第一个哥们兴高采烈的打印出x的值,但却发现不是100,是200.这哥们就郁闷了,怎么回事呢?
这就是并发问题,但如果把上面的代码用同步代码块包含起来,任意一个时间只能有一个哥们访问实例变量x,一直到这哥们执行完同步代码块中的所有代码后,其他哥们才能再访问。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询