
synchronized和线程
励志秃头的男人
这个作者很懒,什么都没留下…
展开
-
静态方法上的锁
new出来两个不同的成员变量的话,如果执行方法输出的话可能会有两个线程同时访问锁,这时候它访问的就是我的synchronized所修饰的方法,而这两个线程就拥有我方法所属对象的锁,如果是synchronized所修饰的静态方法时,这个时候就表示给.class类加锁,这个时候我的线程就独占这个锁,而不是将这个锁分给其他线程...原创 2018-07-21 09:54:32 · 437 阅读 · 0 评论 -
锁的竞争
当多个线程访问run方法时,可能会出现无序的访问,先进来的数据未必是最先在控制台中打印,如果排序的方式进行输出,这样就对先进来的请求用户一定的平衡性。所以我们就需要synchronized来修饰方法中的代码,如果拿到那把锁,就会执行锁中的内容,如果无法访问,就会一直执行,直到执行成功,才会走下一个请求...原创 2018-07-18 11:00:40 · 763 阅读 · 0 评论 -
锁的同步
如果再一个方法中加了锁,另一个没有加锁,当执行main方法时,可能两个方法中的值同时输出,因为没有加锁的那个方法会执行.class类锁,如果将没有锁的类加上synchronized的话,它会等第一个方法用完后释放,然后才执行下一个方法,这样就保证的线程的同步...原创 2018-07-22 19:01:14 · 201 阅读 · 0 评论