摘要: package com.cj.java1; import java.util.concurrent.Executor; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; class 阅读全文
posted @ 2022-04-02 22:14 写代码的小哥哥 阅读(22) 评论(0) 推荐(0)
摘要: package com.cj.java1; import java.util.concurrent.Callable; import java.util.concurrent.ExecutionException; import java.util.concurrent.FutureTask; // 阅读全文
posted @ 2022-04-02 21:53 写代码的小哥哥 阅读(59) 评论(0) 推荐(0)
摘要: package com.cj.java1; class Producer extends Thread{ private Clerk clerk; public Producer(Clerk clerk){ this.clerk = clerk; } @Override public void ru 阅读全文
posted @ 2022-04-02 21:43 写代码的小哥哥 阅读(28) 评论(0) 推荐(0)
摘要: package com.cj.java1; import java.util.concurrent.locks.ReentrantLock; class Number implements Runnable{ private int number = 1; private ReentrantLock 阅读全文
posted @ 2022-04-02 20:53 写代码的小哥哥 阅读(22) 评论(0) 推荐(0)
摘要: package com.cj; import java.util.concurrent.locks.ReentrantLock; public class LockTest implements Runnable{ private static int ticket = 100; private R 阅读全文
posted @ 2022-04-02 17:59 写代码的小哥哥 阅读(101) 评论(0) 推荐(0)
摘要: package com.cj; class Book { private Book(){} private static Book instance = null; public static Book getInstance() { if(instance==null){ //同步代码块 sync 阅读全文
posted @ 2022-04-02 17:38 写代码的小哥哥 阅读(26) 评论(0) 推荐(0)
摘要: 1.同步代码块 1.1 使用 synchronized 解决 Runnable 线程安全问题 ps: 使用同一个obj 的锁 package com.cj; class WindowsTest2 implements Runnable{ private int ticket = 100; Objec 阅读全文
posted @ 2022-04-02 17:02 写代码的小哥哥 阅读(67) 评论(0) 推荐(0)