thread
880露露088
IDEA sde,Microsoft China, SDE, Cloud Computing.
展开
-
乐观锁实现3个线程循环打印abc
思路:一个指示器指示当前应该打印什么,三个线程在指示器没让它打印之前则一直空旋,当指示器让它打印时,立即打印出指示器对应的字符,并修改指示器表示下一次应该打印哪一个字符。重点:指示器要用volatile修饰package com.example.demo.multithread;public class TT { public static int COUNT = 23; public static volatile int indicator = 0;// 0-a, 1-b, 2-.原创 2021-11-22 23:15:22 · 196 阅读 · 0 评论 -
线程池实现循环打印abc
思路:往线程池里面不断的扔任务,每个线程获取到锁后,判断能不能打印,能则打印后释放锁,不能则直接释放锁,直到打印出100个abc后关闭线程池。package com.example.demo.multithread;import java.util.concurrent.CountDownLatch;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.ut.原创 2021-11-26 02:38:30 · 420 阅读 · 0 评论 -
单线程线程池实现循环打印abc
package com.example.demo.multithread;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class SingleThreadExecutorDemo { public static void main(String[] args) { Runnable printA = () -> { System.out..原创 2021-11-24 06:05:28 · 109 阅读 · 0 评论 -
CountDownLatch实现循环打印abc
package com.example.demo.multithread;import java.util.concurrent.CountDownLatch;import java.util.concurrent.TimeUnit;public class CountDownLatchDemo { public static void main(String[] args) throws InterruptedException { final int NUM = 10; Cou.原创 2021-11-24 04:53:33 · 503 阅读 · 0 评论 -
Java并发-ThreadLocal
ThreadLocal是一个泛型类,用在线程之外定义线程本地变量。package com.example.demo.multithread;public class ThreadLocalDemo { private static final ThreadLocal<String> threadLocalMessage = new ThreadLocal<String>(); private static String message; private stati原创 2021-11-23 18:50:30 · 367 阅读 · 0 评论 -
三个线程按顺序执行-join实现
package com.example.demo.multithread;class T1 extends Thread { public Thread t; public T1(Thread t) { this.t = t; } public void run() { try { if (t != null) { t.join(); } System.out.println("a"); } catch (InterruptedException e).原创 2021-11-22 23:27:26 · 266 阅读 · 0 评论