摘要: 常用的辅助类(必会) CountDownLatch 代码实现 public class Test04 { public static void main(String[] args) throws InterruptedException { // 总数是8,必须要执行任务的时候,再使用! Coun 阅读全文
posted @ 2021-05-03 22:06 saxon宋 阅读(79) 评论(0) 推荐(0)
摘要: Callable 1、可以有返回值 2、可以抛出异常 3、方法不同,run() / call() 代码测试 ​ ​ public class CallableTest { public static void main(String[] args) throws ExecutionException 阅读全文
posted @ 2021-05-03 21:29 saxon宋 阅读(287) 评论(0) 推荐(0)
摘要: ConcurrentHashMap Map不安全 static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16 /** * The maximum capacity, used if a higher value is implicitl 阅读全文
posted @ 2021-05-03 20:38 saxon宋 阅读(58) 评论(0) 推荐(0)
摘要: CopyOnWriteArraySet Set不安全 多条线程执行set添加方法 //java.util.ConcurrentModificationException 并发修改异常 public class Test04 { public static void main(String[] arg 阅读全文
posted @ 2021-05-03 20:26 saxon宋 阅读(85) 评论(0) 推荐(0)
摘要: CopyOnWriteArrayList List 不安全 并发下的List //java.util.ConcurrentModificationException 并发修改异常 public class Test03 { public static void main(String[] args) 阅读全文
posted @ 2021-05-03 19:50 saxon宋 阅读(52) 评论(0) 推荐(0)
摘要: 锁是什么?如何判断锁? 关于锁的8个问题 /* 1、标准情况下,两个线程先打印 发短信还是 打电话? 1/发短信 2/打电话 2、sendSms延迟4秒,两个线程先打印 发短信还是 打电话? 1/发短信 2/打电话 // synchronized 锁的对象是方法的调用者! // 两个方法用的是同一个 阅读全文
posted @ 2021-05-03 13:31 saxon宋 阅读(351) 评论(0) 推荐(0)
摘要: 生产者和消费者问题 面试:单例模式,排序算法,生产者和消费者,死锁 Synchronized版 Synchronized 加锁 ; wait 等待; notify 唤醒; /** * 线程之间的週信题:生产者和消赏者问题!等待唤,知唤 * 线程交替执行 A B操作问一个变量num=0 * A 生产n 阅读全文
posted @ 2021-05-03 11:19 saxon宋 阅读(57) 评论(0) 推荐(0)
摘要: Lock锁 公平锁:十分公平:可以先来后到 非公平锁:十分不公平:可以插队 (默认) public class Test02 { public static void main(String[] args) { //并发;多线程操作同一个资源类,把资源类丢入线程 Ticket1 ticket = n 阅读全文
posted @ 2021-05-03 10:00 saxon宋 阅读(233) 评论(0) 推荐(0)
摘要: Synchronized public class Test01 { /*真正的多线程开发,公司中的开发。 线程就是一个单独的资源类,没有任何附属的操作! */ public static void main(String[] args) { //并发;多线程操作同一个资源类,把资源类丢入线程 Ti 阅读全文
posted @ 2021-05-03 09:29 saxon宋 阅读(35) 评论(0) 推荐(0)