![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
thread
小馒头味豆浆
这个作者很懒,什么都没留下…
展开
-
CountDownLatch阻塞主线程
@Test public void test() { ExecutorService service = Executors.newFixedThreadPool(3); final CountDownLatch latch = new CountDownLatch(3); for (int i = 0; i < 3; i++) { Runnable runnable = new Runnable() { .原创 2020-11-11 01:53:23 · 1274 阅读 · 0 评论 -
多线程处理批量数据
//int corePoolSize, - 线程池维护线程的最少数量 (core : 核心) //int maximumPoolSize, - 线程池的最大线程数。 //long keepAliveTime, - 当线程数大于核心时,此为终止前多余的空闲线程等待新任务的最长时间。 //TimeUnit unit, - keepAliveTime 的时间单位。 //BlockingQueue<Runnable> workQueue, - 用来储存等待执行任...原创 2020-11-11 00:56:40 · 1198 阅读 · 0 评论 -
Callable可以获取线程返回值
//测试future.get()方法是否会阻断主线程执行 //结论:会,如果调用get()方法,只有子线程执行返回结果主线程才能继续执行,如果不调用get()方法主线程执行则无需等待子线程返回结果 @Test public void test() throws ExecutionException, InterruptedException { ExecutorService executor = Executors.newFixedThreadPool(2); .原创 2020-11-11 00:49:58 · 764 阅读 · 0 评论 -
主线程,守护线程,非守护线程
java有两种状态的线程1.守护线程(例如垃圾回收线程:gc线程)2.非守护线程(用户线程:用户线程即我们手动创建的线程)守护线程与非守护线程的区别1.守护线程有一个特征,例如当主线程运行的时候,垃圾回收线程一起运行。当主线程销毁,会和主线程一起销毁。2.非守护线程如果主线程销毁,用户线程继续运行且互不影响。...原创 2020-11-05 11:52:47 · 185 阅读 · 0 评论