2017年10月11日

对象及变量的并发访问-----synchronized同步(7)----- 内置类同步问题

摘要: 创建一个类,里面两个内置类,第一个内置类里面两个方法,一个方法用第二个内置类实例作监视对象,一个直接synchronized修饰; 第二个内置类里面直接synchronized修饰的方法。 run: 结果: T2现在进入innerClass1的method2T1现在进入innerClass1的met 阅读全文

posted @ 2017-10-11 16:32 汉成 阅读(115) 评论(0) 推荐(0)

2017年10月10日

对象及变量的并发访问-----synchronized同步(6)-----静态同步synchoronized synchronized(class)代码块的区别

摘要: 一、将synchronized关键字加到static方法上的时候是给Class类加了锁,而给非static方法加synchronized是给Class类实例的对象加了锁。 创建一个类,其中两个synchronized修饰的静态方法,一个是修饰的非静态方法,将第一个的静态方法sleep3秒,观察两个静 阅读全文

posted @ 2017-10-10 16:09 汉成 阅读(590) 评论(0) 推荐(0)

对象及变量的并发访问-----synchronized同步(5)-----synchronized代码块 一半异步 一半同步

摘要: 一、synchronized块中的代码是同步执行,synchronized外的则是异步 先写一个Task类,里面一个方法里面两个代码块,分别同步和不同步 两个进程分别调用task对象 run 结果如下: nosynchronized threadname = Thread-0 i =67 nosyn 阅读全文

posted @ 2017-10-10 15:20 汉成 阅读(353) 评论(0) 推荐(0)

对象及变量的并发访问-----synchronized同步(4)----- 锁异常、同步继承

摘要: 一、当一个线程出现异常的时候,他所持有的锁将会进行释放。 二、同步不具有继承性。父类中的一方法进行了synchronized修饰,那么子类继承的时候也要进行synchronized进行修饰。否则会出现不同步的情况。 阅读全文

posted @ 2017-10-10 12:03 汉成 阅读(84) 评论(0) 推荐(0)

对象及变量的并发访问-----synchronized同步(3)----- 锁可重入

摘要: 一、一个类中的一个synchronized方法调用本类中其他的synchronized方法,可以得到锁的 类中synchronized方法一调用本类中synchronized方法二 thread的run方法中实例Service,调用service1方法 run 测试结果: service1 serv 阅读全文

posted @ 2017-10-10 11:57 汉成 阅读(170) 评论(0) 推荐(0)

对象及变量的并发访问-----synchronized同步(2)----- 脏读

摘要: 一、接上一步,如果变量在方法外部,对变量加上关键字synchonzied即可 package service; /** * Created by zhc on 2017/10/10 */ public class HasSelfPrivateNum { private int num = 0; sy 阅读全文

posted @ 2017-10-10 11:12 汉成 阅读(129) 评论(0) 推荐(0)

对象及变量的并发访问-----synchronized同步(1)-----方法内变量线程安全

摘要: 一、方法内变量为线程安全 创建该类实例对象并且多线程调用,此时若是变量在方法内部,则是线程安全。 线程分别调用结果还是安全的, 结果如下: a is set overa num = 100b is set overb num = 200 二、如果变量在方法外部,可能出现如下情况,造成线程不安全 b 阅读全文

posted @ 2017-10-10 10:10 汉成 阅读(306) 评论(0) 推荐(0)

导航