java 程序如何设置线程数

 时间:2024-10-11 19:37:08

1、第一步:在java中,线程数设置一般是由线程池来控制的,池的大小决定了线程的数量,线程代码如下:// corePoolSize:核心池的大小// maximumPoolSize:线程池最大线程数// keepAliveTime:表示线程没有任务执行时最多保持多久时间会终止// TimeUnit: 参数keepAliveTime的时间单位// workQueue:一个阻塞队列ThreadPoolExecutor executor = new ThreadPoolExecutor(5, 10, 200, TimeUnit.MILLISECONDS, new ArrayBlockingQueue<Runnable>(5));

java 程序如何设置线程数

2、第二步:上面的参数看前面2个,corePoolSize和maximumPoolSize,corePoolSize就用来创建线程,而maximumPoolSize就是用来限制创建线程的最大数量的

java 程序如何设置线程数

3、第三步:线程数量最优的办法就是以cpu的核心数来乘以2,比如是四核cpu就好就是8个线程,比如本电脑四核最好就是8线程

java 程序如何设置线程数

4、第四步:线程数和线程池的使用,在线程池中,线程是先进入到线程池,然后由这个池子来绝定立即执行还是等待执行,代码如下://实现自定义接口BlockingQueue<Runnable> workQueue = new ArrayBlockingQueue<>(10);pool = new ThreadPoolExecutor(8, 16, 1000, TimeUnit.MILLISECONDS, workQueue);for(int i=0;i<10;i++) { pool.execute(new ThreadTask("Task"+i));}pool.shutdown();

java 程序如何设置线程数

5、第五步:new ThreadTask是一个简单线程实现,用了lombok,代码如下:@Data class ThreadTask impl髫潋啜缅ements Runnable { private String taskName; public ThreadTask(String name) { this.setTaskName(name); } public void run() { //输出执行线程的名称 System.out.println("TaskName" + this.getTaskName() + "---ThreadName:" + Thread.currentThread().getName()); }}

java 程序如何设置线程数

6、第六步:运行上面的线程池方法,可以看到线程的数量是由core参数来控制的,最大数是8,如图:

java 程序如何设置线程数
  • 奇迹暖暖S级攻略-上海烟云梦套装获取攻略
  • 贵州自助游详细攻略
  • Win10如何打开搜索框
  • 用支付宝扫一扫付款,可不可以用花呗
  • linux系统如何创建交换分区
  • 热门搜索
    传统美德手抄报 金秋十月手抄报 保护环境手抄报资料 感恩教师的手抄报 珍爱生命手抄报图片 抗震救灾手抄报 小学生手抄报版面设计图 共创文明城市手抄报 庆元旦手抄报内容 以环保为主题的手抄报