摘要: volatile与synchronized区别 仅靠volatile不能保证线程的安全性。(原子性) ①volatile轻量级,只能修饰变量。synchronized重量级,还可修饰方法 ②volatile只能保证数据的可见性,不能用来同步,因为多个线程并发访问volatile修饰的变量不会阻塞。 阅读全文
posted @ 2018-09-13 15:38 DaryllD 阅读(138) 评论(0) 推荐(0)
摘要: AtomicInteger是一个提供原子操作的Integer类,通过线程安全的方式操作加减。 阅读全文
posted @ 2018-09-13 15:37 DaryllD 阅读(148) 评论(0) 推荐(0)
摘要: package com.zbb.test.thread; public class DeadLock { public static String obj1 = "obj1"; public static String obj2 = "obj2"; public static void main(String[] args) { Thread a = new Thread(new ... 阅读全文
posted @ 2018-09-13 15:16 DaryllD 阅读(153) 评论(0) 推荐(0)
摘要: java synchronized同步静态方法和同步非静态方法的异同 所有的非静态同步方法用的都是同一把锁——实例对象本身,也就是说如果一个实例对象的非静态同步方法获取锁后,该实例对象的其他非静态同步方法必须等待获取锁的方法释放锁后才能获取锁,可是别的实例对象的非静态同步方法因为跟该实例对象的非静态 阅读全文
posted @ 2018-09-13 14:54 DaryllD 阅读(136) 评论(0) 推荐(0)