养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

java 程序如何设置线程数

时间:2024-11-12 18:09:57

java是非常流行的语言,而多线程编程是开发人员必须会的,这里就分享在java里面多线程变成如何设置线程数

工具/原料

java

方法/步骤

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

java 程序如何设置线程数

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

java 程序如何设置线程数

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

java 程序如何设置线程数

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

java 程序如何设置线程数

5、第五步:newThreadTask是一个简单线程实现,用了lombok,代码如下:@Da隋茚粟胫taclassThreadTaskimpl髫潋啜缅ementsRunnable{privateStringtaskName;publicThreadTask(Stringname){this.setTaskName(name);}publicvoidrun(){//输出执行线程的名称System.out.println("TaskName"+this.getTaskName()+"---ThreadName:"+Thread.currentThread().getName());}}

java 程序如何设置线程数

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

java 程序如何设置线程数

© 一点知识