用java自己实现代码阻塞的几种方式
用java自己实现代码阻塞的几种方式
假如有一个场景,当代码获取的变量不为期待值的时候需要等待变量变为期待值再往下执行,最开始可能会考虑通过死循环+线程睡眠来实现,但是这样子毕竟不太合理。可以通过以下方式来实现:
通过阻塞队列。
import java.util.concurrent.*;
/**
1. 自己用阻塞队列实现代码的阻塞
*/
public class BlockCode {
//创建一个线程池
private static ThreadPoolExecutor executor = new ThreadPoolExecutor(5,10,1, TimeUnit.MINUTES,new LinkedBlockingQueue<>(100));
//创建一个容量为1的阻塞队列
private static BlockingQueue
共有 0 条评论