int arg1=2;//核心线程 int arg2=40;//最大线程数量 int arg3=100;//空余保留时间 ThreadPoolExecutor pool=new ThreadPoolExecutor(arg1, arg2, arg3,TimeUnit.MILLISECONDS, // 时间单位 new LinkedBlockingQueue<Runnable>());//默认构造的队列大小为Integer.Max, 可指定大小new LinkedBlockingQueue<
原文:http://blog.csdn.net/kirayuan/article/details/6321967 我们可以在cat 里面发现processor数量,这里的processor可以理解为逻辑上的cpu. 这里摘抄的一段blog来说明: 什么是线程池大小的阻抗匹配原则? 我在<常用模型>中提到“阻抗匹配原则”,这里大致讲一讲. 如果池中线程在执行任务时,密集计算所占的时间比重为 P (0 < P <= 1),而系统一共有 C 个 CPU,为了让这 C 个 CPU 跑满而又
update POInStockEntry set FAuxNotPassQty=不合格数量 where FInterID=(select FInterID from POInStock where FBillNo ='收料通知单号' )/* POInStockEntry为表体, POInStock为表头,FAuxNotPassQty ,FNotPassQty收料通知单不合格数量,FQtyPass,FAuxQtyPass为合格数量*/ /*数据库不会自己减数哦,修改了不合格数量,那么也需要修改
思路来源:http://bbs.csdn.NET/topics/390819824,引用该页面某网友提供的方法. 题目:我现在有100个任务,需要多线程去完成,但是要限定同时并发数量不能超过5个. 原理:初始启用5个线程,然后让线程中的过程执行完毕之后,自己去取下一个任务,启动下一个线程. public class MyTaskList { public List<Action> Tasks = new List<Action>(); public void Start() { f
package com.cx.Threads; public class HelloThread extends Thread{ @Override public void run() { for (int i = 0; i < 100; i++) { if(i%2==0){ System.out.println(Thread.currentThread().getName()+":"+i); } } } public HelloThread(){ } public HelloT
測试代码: public class Test { public static void main(String[] args) { System.out.println(Thread.activeCount()); } } idea执行,输出为"2" watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveGlhb2xpbnppMDA3/font/5a6L5L2T/fontsize/400/fill/I0JBQkFC