
多线程
5210丫
谦卑,对知识有一颗敬畏之心!
展开
-
线程池框架Executor创建线程池
以上成员均在java.util.concurrent包中,是JDK并发包的核心类。其中ThreadPoolExecutor表示一个线程池。Executors类则扮演着线程池工厂的角色,通过Executors可以取得一个拥有特定功能的线程池。从UML图中亦可知,ThreadPoolExecutor类实现了Executor接口,因此通过这个接口,任何Runnable的对象都可以被ThreadPoolExecutor线程池调度。newFixedThreadPool()方法:该方法返回一个固定线程...原创 2020-07-31 22:34:03 · 359 阅读 · 0 评论 -
合理的选择线程池线程数量
《Java Concurrency in practice》书中给出了个经验估算公示:Nthread = Ncpu* Ucpu * (1+W/C )其中,Ncpu表示CPU的数量 Ucpu表示目标cpu的使用率,范围 0<=Ucpu<=1 W表示等待时间 C表示 计算时间 W/C表示等待时间与计算时间之间的比率...原创 2020-07-30 12:13:46 · 246 阅读 · 0 评论 -
多线程---重入锁
package com.yao.item;import java.util.concurrent.locks.ReentrantLock;/** * 重入锁 */public class IntLock implements Runnable { public static ReentrantLock lock1 = new ReentrantLock(); public static ReentrantLock lock2 = new ReentrantLock();.原创 2020-07-26 21:37:04 · 151 阅读 · 0 评论