在java中有时会用到多线程,但是当它们去操作同一个object或variable的时候,可能会出现意外的情况,从而达不到我们希望看到的效果。为了解决多线程中出现的这个问题,通常会让线程根据竞争机制(其实就是线程同步或互斥,只允许一个人经过的独木桥),获取操作这个object或variable的权利。
那么线程同步的方式有两种表达方式:
第一种,在method添加synchronized modifier,比较常见。
第二种,就使用synchronized block。比如synchronized(object){//...}
不管那种方式,都是为了解决多线程间资源的共享与利用,所以要根据实际情况选择其中之一。