问题:每生产3个,消费2个,问题的难点在于生产3个的不是同一个线程,而消费2个的也不是同一个线程。实现代码如下:

  1. public class ExecutorServiceTest {
  2.     private static int produceCount = 0;
  3.     private static int consumeCount = 0;
  4.     private static Object produceLock = new Object();
  5.     private static Object consumeLock = new Object();
  6.     public static void main(String[] args) {
  7.         final List tasks = new ArrayList();
  8.         System.out.println(“MyBlog: http://blog.csdn.net/”+“sunyujia/”);
  9.         final ExecutorService exec = Executors.newCachedThreadPool();
  10.         for (int i = 0; i < 10; i++) {//10个生产者
  11.             exec.execute(new Runnable() {
  12.                 public void run() {
  13.                     while (!Thread.interrupted()) {
  14.                         try {
  15.                             synchronized (consumeLock) {
  16.                                 if (produceCount >= 3)
  17.                                     consumeLock.wait();
  18.                             }
  19.                             synchronized (produceLock) {
  20.                                 if (produceCount < 3) {
  21.                                     tasks.add(new Object());// 生产
  22.                                     System.out.println(Thread.currentThread().getName()+“生产任务 还剩:” + tasks.size());
  23.                                     produceCount++;
  24.                                     if (produceCount >= 3) {
  25.                                         consumeCount = 2;// 提示只能消费2个
  26.                                         System.out.println(“生产者友情提示现在库存”
  27.                                                 + tasks.size());
  28.                                         produceLock.notifyAll();
  29.                                     }
  30.                                     Thread.yield();
  31.                                 }
  32.                             }
  33.                             Thread.sleep(600);// 让程序执行慢点以便观察
  34.                         } catch (InterruptedException e) {
  35.                             e.printStackTrace();
  36.                         }
  37.                     }
  38.                 }
  39.             });
  40.         }
  41.         for (int i = 0; i < 20; i++) {//20个消费者
  42.             exec.execute(new Runnable() {
  43.                 public void run() {
  44.                     while (!Thread.interrupted()) {
  45.                         try {
  46.                             synchronized (produceLock) {
  47.                                 if (consumeCount <= 0)
  48.                                     produceLock.wait();
  49.                             }
  50.                             synchronized (consumeLock) {
  51.                                 if (consumeCount > 0) {
  52.                                     tasks.remove(0);// 消费
  53.                                     System.out.println(Thread.currentThread().getName()+“处理任务 还剩:”
  54.                                             + tasks.size());
  55.                                     consumeCount–;
  56.                                     if (consumeCount <= 0) {
  57.                                         produceCount = 0;// 要求再生成3个
  58.                                         System.out.println(“消费者友情提示现在库存”
  59.                                                 + tasks.size());
  60.                                         consumeLock.notifyAll();
  61.                                     }
  62.                                 }
  63.                             }
  64.                             Thread.sleep(600);// 让程序执行慢点以便观察
  65.                         } catch (InterruptedException e) {
  66.                             e.printStackTrace();
  67.                         }
  68.                     }
  69.                 }
  70.             });
  71.         }
  72.         exec.shutdown();
  73.     }
  74. }

部分结果如下:

pool-1-thread-1生成任务  还剩1

pool-1-thread-6生成任务  还剩2

pool-1-thread-5生成任务  还剩3

生产者提示库存还剩:3

pool-1-thread-11处理任务 还剩:2

pool-1-thread-12处理任务 还剩:1

生成现在库存:1

pool-1-thread-10生成任务  还剩2

pool-1-thread-9生成任务  还剩3

pool-1-thread-8生成任务  还剩4

生产者提示库存还剩:4

pool-1-thread-20处理任务 还剩:3

pool-1-thread-22处理任务 还剩:2

生成现在库存:2

pool-1-thread-1生成任务  还剩3

pool-1-thread-5生成任务  还剩4

pool-1-thread-4生成任务  还剩5

生产者提示库存还剩:5

pool-1-thread-30处理任务 还剩:4

pool-1-thread-29处理任务 还剩:3

生成现在库存:3

pool-1-thread-10生成任务  还剩4

pool-1-thread-9生成任务  还剩5

pool-1-thread-8生成任务  还剩6

生产者提示库存还剩:6

pool-1-thread-17处理任务 还剩:5

pool-1-thread-16处理任务 还剩:4

生成现在库存:4

pool-1-thread-1生成任务  还剩1pool-1-thread-6生成任务  还剩2pool-1-thread-5生成任务  还剩3生产者提示库存还剩:3pool-1-thread-11处理任务 还剩:2pool-1-thread-12处理任务 还剩:1生成现在库存:1pool-1-thread-10生成任务  还剩2pool-1-thread-9生成任务  还剩3pool-1-thread-8生成任务  还剩4生产者提示库存还剩:4pool-1-thread-20处理任务 还剩:3pool-1-thread-22处理任务 还剩:2生成现在库存:2pool-1-thread-1生成任务  还剩3pool-1-thread-5生成任务  还剩4pool-1-thread-4生成任务  还剩5生产者提示库存还剩:5pool-1-thread-30处理任务 还剩:4pool-1-thread-29处理任务 还剩:3生成现在库存:3pool-1-thread-10生成任务  还剩4pool-1-thread-9生成任务  还剩5pool-1-thread-8生成任务  还剩6生产者提示库存还剩:6pool-1-thread-17处理任务 还剩:5pool-1-thread-16处理任务 还剩:4生成现在库存:4pool-1-thread-6生成任务  还剩5pool-1-thread-7生成任务  还剩6pool-1-thread-2生成任务  还剩7生产者提示库存还剩:7pool-1-thread-23处理任务 还剩:6pool-1-thread-19处理任务 还剩:5生成现在库存:5pool-1-thread-10生成任务  还剩6pool-1-thread-9生成任务  还剩7pool-1-thread-8生成任务  还剩8生产者提示库存还剩:8pool-1-thread-16处理任务 还剩:7pool-1-thread-12处理任务 还剩:6生成现在库存:6pool-1-thread-6生成任务  还剩7pool-1-thread-7生成任务  还剩8pool-1-thread-2生成任务  还剩9生产者提示库存还剩:9pool-1-thread-23处理任务 还剩:8pool-1-thread-19处理任务 还剩:7生成现在库存:7pool-1-thread-4生成任务  还剩8pool-1-thread-5生成任务  还剩9pool-1-thread-9生成任务  还剩10生产者提示库存还剩:10pool-1-thread-13处理任务 还剩:9pool-1-thread-20处理任务 还剩:8生成现在库存:8pool-1-thread-1生成任务  还剩9pool-1-thread-8生成任务  还剩10pool-1-thread-10生成任务  还剩11生产者提示库存还剩:11pool-1-thread-16处理任务 还剩:10pool-1-thread-12处理任务 还剩:9生成现在库存:9pool-1-thread-6生成任务  还剩10pool-1-thread-7生成任务  还剩11pool-1-thread-2生成任务  还剩12生产者提示库存还剩:12pool-1-thread-30处理任务 还剩:11pool-1-thread-19处理任务 还剩:10生成现在库存:10pool-1-thread-3生成任务  还剩11pool-1-thread-4生成任务  还剩12pool-1-thread-5生成任务  还剩13生产者提示库存还剩:13pool-1-thread-23处理任务 还剩:12pool-1-thread-13处理任务 还剩:11生成现在库存:11pool-1-thread-9生成任务  还剩12pool-1-thread-1生成任务  还剩13pool-1-thread-8生成任务  还剩14生产者提示库存还剩:14pool-1-thread-20处理任务 还剩:13pool-1-thread-16处理任务 还剩:12生成现在库存:12pool-1-thread-10生成任务  还剩13pool-1-thread-6生成任务  还剩14pool-1-thread-7生成任务  还剩15生产者提示库存还剩:15pool-1-thread-12处理任务 还剩:14pool-1-thread-17处理任务 还剩:13生成现在库存:13pool-1-thread-2生成任务  还剩14pool-1-thread-4生成任务  还剩15pool-1-thread-3生成任务  还剩16生产者提示库存还剩:16pool-1-thread-27处理任务 还剩:15pool-1-thread-15处理任务 还剩:14生成现在库存:14pool-1-thread-9生成任务  还剩15pool-1-thread-5生成任务  还剩16pool-1-thread-8生成任务  还剩17生产者提示库存还剩:17pool-1-thread-20处理任务 还剩:16pool-1-thread-13处理任务 还剩:15生成现在库存:15pool-1-thread-1生成任务  还剩16pool-1-thread-10生成任务  还剩17pool-1-thread-6生成任务  还剩18生产者提示库存还剩:18pool-1-thread-16处理任务 还剩:17pool-1-thread-12处理任务 还剩:16生成现在库存:16pool-1-thread-7生成任务  还剩17pool-1-thread-4生成任务  还剩18pool-1-thread-2生成任务  还剩19生产者提示库存还剩:19pool-1-thread-29处理任务 还剩:18pool-1-thread-27处理任务 还剩:17生成现在库存:17pool-1-thread-5生成任务  还剩18pool-1-thread-9生成任务  还剩19pool-1-thread-8生成任务  还剩20生产者提示库存还剩:20pool-1-thread-20处理任务 还剩:19pool-1-thread-30处理任务 还剩:18生成现在库存:18pool-1-thread-1生成任务  还剩19pool-1-thread-10生成任务  还剩20pool-1-thread-6生成任务  还剩21生产者提示库存还剩:21pool-1-thread-11处理任务 还剩:20pool-1-thread-19处理任务 还剩:19生成现在库存:19pool-1-thread-7生成任务  还剩20pool-1-thread-3生成任务  还剩21pool-1-thread-2生成任务  还剩22生产者提示库存还剩:22pool-1-thread-12处理任务 还剩:21pool-1-thread-16处理任务 还剩:20生成现在库存:20pool-1-thread-4生成任务  还剩21pool-1-thread-9生成任务  还剩22pool-1-thread-5生成任务  还剩23生产者提示库存还剩:23pool-1-thread-29处理任务 还剩:22pool-1-thread-25处理任务 还剩:21生成现在库存:21pool-1-thread-8生成任务  还剩22pool-1-thread-1生成任务  还剩23pool-1-thread-10生成任务  还剩24生产者提示库存还剩:24pool-1-thread-20处理任务 还剩:23pool-1-thread-15处理任务 还剩:22生成现在库存:22pool-1-thread-6生成任务  还剩23pool-1-thread-7生成任务  还剩24pool-1-thread-4生成任务  还剩25生产者提示库存还剩:25pool-1-thread-29处理任务 还剩:24pool-1-thread-16处理任务 还剩:23生成现在库存:23pool-1-thread-9生成任务  还剩24pool-1-thread-5生成任务  还剩25pool-1-thread-8生成任务  还剩26生产者提示库存还剩:26pool-1-thread-20处理任务 还剩:25pool-1-thread-17处理任务 还剩:24生成现在库存:24pool-1-thread-1生成任务  还剩25pool-1-thread-10生成任务  还剩26pool-1-thread-6生成任务  还剩27生产者提示库存还剩:27pool-1-thread-27处理任务 还剩:26pool-1-thread-30处理任务 还剩:25生成现在库存:25pool-1-thread-7生成任务  还剩26pool-1-thread-4生成任务  还剩27pool-1-thread-9生成任务  还剩28生产者提示库存还剩:28pool-1-thread-12处理任务 还剩:27pool-1-thread-13处理任务 还剩:26生成现在库存:26pool-1-thread-8生成任务  还剩27pool-1-thread-1生成任务  还剩28pool-1-thread-5生成任务  还剩29生产者提示库存还剩:29pool-1-thread-25处理任务 还剩:28pool-1-thread-28处理任务 还剩:27生成现在库存:27pool-1-thread-3生成任务  还剩28pool-1-thread-2生成任务  还剩29pool-1-thread-10生成任务  还剩30生产者提示库存还剩:30pool-1-thread-19处理任务 还剩:29pool-1-thread-22处理任务 还剩:28生成现在库存:28pool-1-thread-6生成任务  还剩29pool-1-thread-7生成任务  还剩30pool-1-thread-4生成任务  还剩31生产者提示库存还剩:31pool-1-thread-15处理任务 还剩:30pool-1-thread-30处理任务 还剩:29生成现在库存:29pool-1-thread-9生成任务  还剩30pool-1-thread-8生成任务  还剩31pool-1-thread-1生成任务  还剩32生产者提示库存还剩:32pool-1-thread-25处理任务 还剩:31pool-1-thread-29处理任务 还剩:30生成现在库存:30pool-1-thread-5生成任务  还剩31pool-1-thread-10生成任务  还剩32pool-1-thread-2生成任务  还剩33生产者提示库存还剩:33pool-1-thread-19处理任务 还剩:32pool-1-thread-20处理任务 还剩:31生成现在库存:31pool-1-thread-3生成任务  还剩32pool-1-thread-6生成任务  还剩33pool-1-thread-7生成任务  还剩34生产者提示库存还剩:34pool-1-thread-22处理任务 还剩:33pool-1-thread-18处理任务 还剩:32生成现在库存:32pool-1-thread-4生成任务  还剩33pool-1-thread-9生成任务  还剩34pool-1-thread-1生成任务  还剩35生产者提示库存还剩:35pool-1-thread-27处理任务 还剩:34pool-1-thread-30处理任务 还剩:33生成现在库存:33pool-1-thread-8生成任务  还剩34pool-1-thread-5生成任务  还剩35pool-1-thread-3生成任务  还剩36生产者提示库存还剩:36pool-1-thread-19处理任务 还剩:35pool-1-thread-12处理任务 还剩:34生成现在库存:34pool-1-thread-10生成任务  还剩35pool-1-thread-2生成任务  还剩36pool-1-thread-6生成任务  还剩37生产者提示库存还剩:37pool-1-thread-20处理任务 还剩:36pool-1-thread-17处理任务 还剩:35生成现在库存:35pool-1-thread-7生成任务  还剩36pool-1-thread-9生成任务  还剩37pool-1-thread-4生成任务  还剩38生产者提示库存还剩:38pool-1-thread-11处理任务 还剩:37pool-1-thread-23处理任务 还剩:36生成现在库存:36pool-1-thread-1生成任务  还剩37pool-1-thread-8生成任务  还剩38pool-1-thread-5生成任务  还剩39生产者提示库存还剩:39pool-1-thread-27处理任务 还剩:38pool-1-thread-30处理任务 还剩:37生成现在库存:37pool-1-thread-3生成任务  还剩38pool-1-thread-2生成任务  还剩39pool-1-thread-10生成任务  还剩40生产者提示库存还剩:40pool-1-thread-13处理任务 还剩:39pool-1-thread-16处理任务 还剩:38生成现在库存:38pool-1-thread-6生成任务  还剩39pool-1-thread-7生成任务  还剩40pool-1-thread-9生成任务  还剩41生产者提示库存还剩:41pool-1-thread-28处理任务 还剩:40pool-1-thread-12处理任务 还剩:39生成现在库存:39pool-1-thread-4生成任务  还剩40pool-1-thread-1生成任务  还剩41pool-1-thread-8生成任务  还剩42生产者提示库存还剩:42pool-1-thread-13处理任务 还剩:41pool-1-thread-16处理任务 还剩:40生成现在库存:40pool-1-thread-10生成任务  还剩41pool-1-thread-3生成任务  还剩42pool-1-thread-2生成任务  还剩43生产者提示库存还剩:43pool-1-thread-19处理任务 还剩:42pool-1-thread-15处理任务 还剩:41生成现在库存:41pool-1-thread-6生成任务  还剩42pool-1-thread-7生成任务  还剩43pool-1-thread-9生成任务  还剩44生产者提示库存还剩:44pool-1-thread-28处理任务 还剩:43pool-1-thread-12处理任务 还剩:42生成现在库存:42pool-1-thread-4生成任务  还剩43pool-1-thread-5生成任务  还剩44pool-1-thread-1生成任务  还剩45生产者提示库存还剩:45pool-1-thread-11处理任务 还剩:44pool-1-thread-23处理任务 还剩:43生成现在库存:43pool-1-thread-10生成任务  还剩44pool-1-thread-3生成任务  还剩45pool-1-thread-2生成任务  还剩46生产者提示库存还剩:46pool-1-thread-30处理任务 还剩:45pool-1-thread-20处理任务 还剩:44生成现在库存:44pool-1-thread-8生成任务  还剩45pool-1-thread-6生成任务  还剩46pool-1-thread-7生成任务  还剩47生产者提示库存还剩:47pool-1-thread-25处理任务 还剩:46pool-1-thread-29处理任务 还剩:45生成现在库存:45pool-1-thread-9生成任务  还剩46pool-1-thread-4生成任务  还剩47pool-1-thread-10生成任务  还剩48生产者提示库存还剩:48pool-1-thread-30处理任务 还剩:47pool-1-thread-23处理任务 还剩:46生成现在库存:46pool-1-thread-2生成任务  还剩47pool-1-thread-3生成任务  还剩48pool-1-thread-1生成任务  还剩49生产者提示库存还剩:49pool-1-thread-20处理任务 还剩:48pool-1-thread-19处理任务 还剩:47生成现在库存:47pool-1-thread-5生成任务  还剩48pool-1-thread-8生成任务  还剩49pool-1-thread-6生成任务  还剩50生产者提示库存还剩:50pool-1-thread-24处理任务 还剩:49pool-1-thread-21处理任务 还剩:48生成现在库存:48pool-1-thread-7生成任务  还剩49pool-1-thread-9生成任务  还剩50pool-1-thread-4生成任务  还剩51生产者提示库存还剩:51pool-1-thread-13处理任务 还剩:50pool-1-thread-16处理任务 还剩:49生成现在库存:49pool-1-thread-1生成任务  还剩50pool-1-thread-10生成任务  还剩51pool-1-thread-2生成任务  还剩52生产者提示库存还剩:52pool-1-thread-11处理任务 还剩:51pool-1-thread-23处理任务 还剩:50生成现在库存:50pool-1-thread-3生成任务  还剩51pool-1-thread-5生成任务  还剩52pool-1-thread-8生成任务  还剩53生产者提示库存还剩:53pool-1-thread-19处理任务 还剩:52pool-1-thread-20处理任务 还剩:51生成现在库存:51pool-1-thread-6生成任务  还剩52pool-1-thread-7生成任务  还剩53pool-1-thread-9生成任务  还剩54生产者提示库存还剩:54pool-1-thread-17处理任务 还剩:53pool-1-thread-21处理任务 还剩:52生成现在库存:52pool-1-thread-4生成任务  还剩53pool-1-thread-10生成任务  还剩54pool-1-thread-3生成任务  还剩55生产者提示库存还剩:55pool-1-thread-30处理任务 还剩:54pool-1-thread-23处理任务 还剩:53生成现在库存:53pool-1-thread-2生成任务  还剩54pool-1-thread-1生成任务  还剩55pool-1-thread-5生成任务  还剩56生产者提示库存还剩:56pool-1-thread-12处理任务 还剩:55pool-1-thread-28处理任务 还剩:54生成现在库存:54pool-1-thread-8生成任务  还剩55pool-1-thread-6生成任务  还剩56pool-1-thread-7生成任务  还剩57生产者提示库存还剩:57pool-1-thread-20处理任务 还剩:56pool-1-thread-26处理任务 还剩:55生成现在库存:55pool-1-thread-9生成任务  还剩56pool-1-thread-4生成任务  还剩57pool-1-thread-10生成任务  还剩58生产者提示库存还剩:58pool-1-thread-24处理任务 还剩:57pool-1-thread-21处理任务 还剩:56生成现在库存:56pool-1-thread-3生成任务  还剩57pool-1-thread-2生成任务  还剩58pool-1-thread-1生成任务  还剩59生产者提示库存还剩:59pool-1-thread-13处理任务 还剩:58pool-1-thread-11处理任务 还剩:57生成现在库存:57pool-1-thread-5生成任务  还剩58pool-1-thread-8生成任务  还剩59pool-1-thread-6生成任务  还剩60生产者提示库存还剩:60pool-1-thread-12处理任务 还剩:59pool-1-thread-28处理任务 还剩:58生成现在库存:58pool-1-thread-7生成任务  还剩59pool-1-thread-9生成任务  还剩60pool-1-thread-4生成任务  还剩61生产者提示库存还剩:61pool-1-thread-26处理任务 还剩:60pool-1-thread-20处理任务 还剩:59生成现在库存:59pool-1-thread-10生成任务  还剩60pool-1-thread-3生成任务  还剩61pool-1-thread-2生成任务  还剩62生产者提示库存还剩:62pool-1-thread-15处理任务 还剩:61pool-1-thread-27处理任务 还剩:60生成现在库存:60pool-1-thread-1生成任务  还剩61pool-1-thread-5生成任务  还剩62pool-1-thread-8生成任务  还剩63生产者提示库存还剩:63pool-1-thread-25处理任务 还剩:62pool-1-thread-29处理任务 还剩:61生成现在库存:61pool-1-thread-6生成任务  还剩62pool-1-thread-7生成任务  还剩63pool-1-thread-9生成任务  还剩64生产者提示库存还剩:64pool-1-thread-28处理任务 还剩:63pool-1-thread-12处理任务 还剩:62生成现在库存:62pool-1-thread-4生成任务  还剩63pool-1-thread-10生成任务  还剩64pool-1-thread-3生成任务  还剩65生产者提示库存还剩:65pool-1-thread-27处理任务 还剩:64pool-1-thread-15处理任务 还剩:63生成现在库存:63pool-1-thread-2生成任务  还剩64pool-1-thread-1生成任务  还剩65pool-1-thread-5生成任务  还剩66生产者提示库存还剩:66pool-1-thread-22处理任务 还剩:65pool-1-thread-18处理任务 还剩:64生成现在库存:64pool-1-thread-8生成任务  还剩65pool-1-thread-6生成任务  还剩66pool-1-thread-7生成任务  还剩67生产者提示库存还剩:67pool-1-thread-25处理任务 还剩:66pool-1-thread-29处理任务 还剩:65生成现在库存:65pool-1-thread-9生成任务  还剩66pool-1-thread-4生成任务  还剩67pool-1-thread-10生成任务  还剩68生产者提示库存还剩:68pool-1-thread-12处理任务 还剩:67pool-1-thread-28处理任务 还剩:66生成现在库存:66pool-1-thread-3生成任务  还剩67pool-1-thread-2生成任务  还剩68pool-1-thread-1生成任务  还剩69生产者提示库存还剩:69pool-1-thread-20处理任务 还剩:68pool-1-thread-15处理任务 还剩:67生成现在库存:67pool-1-thread-5生成任务  还剩68pool-1-thread-8生成任务  还剩69pool-1-thread-6生成任务  还剩70生产者提示库存还剩:70pool-1-thread-30处理任务 还剩:69pool-1-thread-23处理任务 还剩:68生成现在库存:68pool-1-thread-7生成任务  还剩69pool-1-thread-9生成任务  还剩70pool-1-thread-4生成任务  还剩71生产者提示库存还剩:71pool-1-thread-27处理任务 还剩:70pool-1-thread-15处理任务 还剩:69生成现在库存:69pool-1-thread-10生成任务  还剩70pool-1-thread-8生成任务  还剩71pool-1-thread-5生成任务  还剩72生产者提示库存还剩:72pool-1-thread-20处理任务 还剩:71pool-1-thread-28处理任务 还剩:70生成现在库存:70pool-1-thread-3生成任务  还剩71pool-1-thread-2生成任务  还剩72pool-1-thread-6生成任务  还剩73生产者提示库存还剩:73pool-1-thread-26处理任务 还剩:72pool-1-thread-22处理任务 还剩:71生成现在库存:71pool-1-thread-7生成任务  还剩72pool-1-thread-9生成任务  还剩73pool-1-thread-4生成任务  还剩74生产者提示库存还剩:74pool-1-thread-12处理任务 还剩:73pool-1-thread-25处理任务 还剩:72生成现在库存:72pool-1-thread-2生成任务  还剩73pool-1-thread-10生成任务  还剩74pool-1-thread-3生成任务  还剩75生产者提示库存还剩:75pool-1-thread-27处理任务 还剩:74pool-1-thread-15处理任务 还剩:73生成现在库存:73pool-1-thread-5生成任务  还剩74pool-1-thread-1生成任务  还剩75pool-1-thread-6生成任务  还剩76生产者提示库存还剩:76pool-1-thread-23处理任务 还剩:75pool-1-thread-19处理任务 还剩:74生成现在库存:74pool-1-thread-7生成任务  还剩75pool-1-thread-9生成任务  还剩76pool-1-thread-8生成任务  还剩77生产者提示库存还剩:77pool-1-thread-25处理任务 还剩:76pool-1-thread-12处理任务 还剩:75生成现在库存:75pool-1-thread-2生成任务  还剩76pool-1-thread-3生成任务  还剩77pool-1-thread-10生成任务  还剩78生产者提示库存还剩:78pool-1-thread-15处理任务 还剩:77pool-1-thread-27处理任务 还剩:76生成现在库存:76pool-1-thread-4生成任务  还剩77pool-1-thread-5生成任务  还剩78pool-1-thread-1生成任务  还剩79生产者提示库存还剩:79pool-1-thread-29处理任务 还剩:78pool-1-thread-17处理任务 还剩:77生成现在库存:77pool-1-thread-6生成任务  还剩78pool-1-thread-7生成任务  还剩79pool-1-thread-9生成任务  还剩80生产者提示库存还剩:80pool-1-thread-20处理任务 还剩:79pool-1-thread-28处理任务 还剩:78生成现在库存:78pool-1-thread-8生成任务  还剩79pool-1-thread-2生成任务  还剩80pool-1-thread-3生成任务  还剩81生产者提示库存还剩:81pool-1-thread-29处理任务 还剩:80pool-1-thread-30处理任务 还剩:79生成现在库存:79pool-1-thread-4生成任务  还剩80pool-1-thread-5生成任务  还剩81pool-1-thread-10生成任务  还剩82生产者提示库存还剩:82pool-1-thread-15处理任务 还剩:81pool-1-thread-27处理任务 还剩:80生成现在库存:80pool-1-thread-1生成任务  还剩81pool-1-thread-6生成任务  还剩82pool-1-thread-7生成任务  还剩83生产者提示库存还剩:83pool-1-thread-17处理任务 还剩:82pool-1-thread-21处理任务 还剩:81生成现在库存:81pool-1-thread-9生成任务  还剩82pool-1-thread-8生成任务  还剩83pool-1-thread-2生成任务  还剩84生产者提示库存还剩:84pool-1-thread-11处理任务 还剩:83pool-1-thread-14处理任务 还剩:82生成现在库存:82pool-1-thread-10生成任务  还剩83pool-1-thread-3生成任务  还剩84pool-1-thread-5生成任务  还剩85生产者提示库存还剩:85pool-1-thread-30处理任务 还剩:84pool-1-thread-29处理任务 还剩:83生成现在库存:83pool-1-thread-4生成任务  还剩84pool-1-thread-1生成任务  还剩85pool-1-thread-6生成任务  还剩86生产者提示库存还剩:86pool-1-thread-27处理任务 还剩:85pool-1-thread-15处理任务 还剩:84生成现在库存:84pool-1-thread-7生成任务  还剩85pool-1-thread-9生成任务  还剩86pool-1-thread-8生成任务  还剩87生产者提示库存还剩:87pool-1-thread-16处理任务 还剩:86pool-1-thread-13处理任务 还剩:85生成现在库存:85pool-1-thread-2生成任务  还剩86pool-1-thread-3生成任务  还剩87pool-1-thread-10生成任务  还剩88生产者提示库存还剩:88pool-1-thread-19处理任务 还剩:87pool-1-thread-23处理任务 还剩:86生成现在库存:86pool-1-thread-5生成任务  还剩87pool-1-thread-1生成任务  还剩88pool-1-thread-4生成任务  还剩89生产者提示库存还剩:89pool-1-thread-29处理任务 还剩:88pool-1-thread-20处理任务 还剩:87生成现在库存:87pool-1-thread-6生成任务  还剩88pool-1-thread-7生成任务  还剩89pool-1-thread-9生成任务  还剩90生产者提示库存还剩:90pool-1-thread-25处理任务 还剩:89pool-1-thread-12处理任务 还剩:88生成现在库存:88pool-1-thread-8生成任务  还剩89pool-1-thread-2生成任务  还剩90pool-1-thread-10生成任务  还剩91生产者提示库存还剩:91pool-1-thread-19处理任务 还剩:90pool-1-thread-23处理任务 还剩:89生成现在库存:89pool-1-thread-3生成任务  还剩90pool-1-thread-4生成任务  还剩91pool-1-thread-1生成任务  还剩92生产者提示库存还剩:92pool-1-thread-29处理任务 还剩:91pool-1-thread-30处理任务 还剩:90生成现在库存:90pool-1-thread-5生成任务  还剩91pool-1-thread-6生成任务  还剩92pool-1-thread-7生成任务  还剩93生产者提示库存还剩:93pool-1-thread-20处理任务 还剩:92pool-1-thread-25处理任务 还剩:91生成现在库存:91pool-1-thread-9生成任务  还剩92pool-1-thread-8生成任务  还剩93pool-1-thread-2生成任务  还剩94生产者提示库存还剩:94pool-1-thread-24处理任务 还剩:93pool-1-thread-12处理任务 还剩:92生成现在库存:92pool-1-thread-10生成任务  还剩93pool-1-thread-1生成任务  还剩94pool-1-thread-4生成任务  还剩95生产者提示库存还剩:95pool-1-thread-16处理任务 还剩:94pool-1-thread-13处理任务 还剩:93生成现在库存:93pool-1-thread-3生成任务  还剩94pool-1-thread-5生成任务  还剩95pool-1-thread-6生成任务  还剩96生产者提示库存还剩:96pool-1-thread-30处理任务 还剩:95pool-1-thread-11处理任务 还剩:94生成现在库存:94pool-1-thread-7生成任务  还剩95pool-1-thread-9生成任务  还剩96pool-1-thread-8生成任务  还剩97生产者提示库存还剩:97pool-1-thread-25处理任务 还剩:96pool-1-thread-20处理任务 还剩:95生成现在库存:95pool-1-thread-2生成任务  还剩96pool-1-thread-10生成任务  还剩97pool-1-thread-1生成任务  还剩98生产者提示库存还剩:98pool-1-thread-17处理任务 还剩:97pool-1-thread-21处理任务 还剩:96生成现在库存:96pool-1-thread-4生成任务  还剩97pool-1-thread-3生成任务  还剩98pool-1-thread-5生成任务  还剩99生产者提示库存还剩:99pool-1-thread-19处理任务 还剩:98pool-1-thread-23处理任务 还剩:97生成现在库存:97pool-1-thread-6生成任务  还剩98pool-1-thread-7生成任务  还剩99pool-1-thread-9生成任务  还剩100生产者提示库存还剩:100pool-1-thread-29处理任务 还剩:99pool-1-thread-22处理任务 还剩:98生成现在库存:98pool-1-thread-8生成任务  还剩99pool-1-thread-2生成任务  还剩100pool-1-thread-10生成任务  还剩101生产者提示库存还剩:101pool-1-thread-20处理任务 还剩:100pool-1-thread-25处理任务 还剩:99生成现在库存:99pool-1-thread-3生成任务  还剩100pool-1-thread-1生成任务  还剩101pool-1-thread-4生成任务  还剩102生产者提示库存还剩:102pool-1-thread-24处理任务 还剩:101pool-1-thread-12处理任务 还剩:100生成现在库存:100pool-1-thread-5生成任务  还剩101pool-1-thread-6生成任务  还剩102pool-1-thread-7生成任务  还剩103生产者提示库存还剩:103pool-1-thread-13处理任务 还剩:102pool-1-thread-16处理任务 还剩:101生成现在库存:101pool-1-thread-9生成任务  还剩102pool-1-thread-8生成任务  还剩103pool-1-thread-2生成任务  还剩104生产者提示库存还剩:104pool-1-thread-28处理任务 还剩:103pool-1-thread-29处理任务 还剩:102生成现在库存:102pool-1-thread-10生成任务  还剩103pool-1-thread-3生成任务  还剩104pool-1-thread-4生成任务  还剩105生产者提示库存还剩:105pool-1-thread-24处理任务 还剩:104pool-1-thread-12处理任务 还剩:103生成现在库存:103pool-1-thread-1生成任务  还剩104pool-1-thread-5生成任务  还剩105pool-1-thread-6生成任务  还剩106生产者提示库存还剩:106pool-1-thread-13处理任务 还剩:105pool-1-thread-16处理任务 还剩:104生成现在库存:104pool-1-thread-7生成任务  还剩105pool-1-thread-9生成任务  还剩106pool-1-thread-8生成任务  还剩107生产者提示库存还剩:107pool-1-thread-19处理任务 还剩:106pool-1-thread-23处理任务 还剩:105生成现在库存:105pool-1-thread-2生成任务  还剩106pool-1-thread-10生成任务  还剩107pool-1-thread-3生成任务  还剩108生产者提示库存还剩:108pool-1-thread-11处理任务 还剩:107pool-1-thread-22处理任务 还剩:106生成现在库存:106pool-1-thread-1生成任务  还剩107pool-1-thread-4生成任务  还剩108pool-1-thread-5生成任务  还剩109生产者提示库存还剩:109pool-1-thread-27处理任务 还剩:108pool-1-thread-24处理任务 还剩:107生成现在库存:107pool-1-thread-6生成任务  还剩108pool-1-thread-7生成任务  还剩109pool-1-thread-9生成任务  还剩110生产者提示库存还剩:110pool-1-thread-16处理任务 还剩:109pool-1-thread-13处理任务 还剩:108生成现在库存:108pool-1-thread-8生成任务  还剩109pool-1-thread-2生成任务  还剩110pool-1-thread-10生成任务  还剩111生产者提示库存还剩:111pool-1-thread-23处理任务 还剩:110pool-1-thread-19处理任务 还剩:109生成现在库存:109pool-1-thread-1生成任务  还剩110pool-1-thread-3生成任务  还剩111pool-1-thread-5生成任务  还剩112生产者提示库存还剩:112pool-1-thread-27处理任务 还剩:111pool-1-thread-22处理任务 还剩:110生成现在库存:110pool-1-thread-4生成任务  还剩111pool-1-thread-6生成任务  还剩112pool-1-thread-7生成任务  还剩113生产者提示库存还剩:113pool-1-thread-24处理任务 还剩:112pool-1-thread-21处理任务 还剩:111生成现在库存:111pool-1-thread-9生成任务  还剩112pool-1-thread-8生成任务  还剩113pool-1-thread-2生成任务  还剩114生产者提示库存还剩:114pool-1-thread-13处理任务 还剩:113pool-1-thread-16处理任务 还剩:112生成现在库存:112pool-1-thread-10生成任务  还剩113pool-1-thread-3生成任务  还剩114pool-1-thread-1生成任务  还剩115生产者提示库存还剩:115pool-1-thread-19处理任务 还剩:114pool-1-thread-23处理任务 还剩:113生成现在库存:113pool-1-thread-5生成任务  还剩114pool-1-thread-4生成任务  还剩115pool-1-thread-7生成任务  还剩116生产者提示库存还剩:116pool-1-thread-15处理任务 还剩:115pool-1-thread-11处理任务 还剩:114生成现在库存:114pool-1-thread-6生成任务  还剩115pool-1-thread-9生成任务  还剩116pool-1-thread-8生成任务  还剩117生产者提示库存还剩:117pool-1-thread-28处理任务 还剩:116pool-1-thread-29处理任务 还剩:115生成现在库存:115pool-1-thread-2生成任务  还剩116pool-1-thread-10生成任务  还剩117pool-1-thread-3生成任务  还剩118生产者提示库存还剩:118pool-1-thread-19处理任务 还剩:117pool-1-thread-13处理任务 还剩:116生成现在库存:116pool-1-thread-1生成任务  还剩117pool-1-thread-5生成任务  还剩118pool-1-thread-4生成任务  还剩119生产者提示库存还剩:119pool-1-thread-23处理任务 还剩:118pool-1-thread-15处理任务 还剩:117生成现在库存:117pool-1-thread-7生成任务  还剩118pool-1-thread-6生成任务  还剩119pool-1-thread-9生成任务  还剩120生产者提示库存还剩:120pool-1-thread-27处理任务 还剩:119pool-1-thread-22处理任务 还剩:118生成现在库存:118pool-1-thread-8生成任务  还剩119pool-1-thread-2生成任务  还剩120pool-1-thread-10生成任务  还剩121生产者提示库存还剩:121pool-1-thread-24处理任务 还剩:120pool-1-thread-21处理任务 还剩:119生成现在库存:119pool-1-thread-3生成任务  还剩120pool-1-thread-1生成任务  还剩121pool-1-thread-5生成任务  还剩122生产者提示库存还剩:122pool-1-thread-16处理任务 还剩:121pool-1-thread-13处理任务 还剩:120生成现在库存:120pool-1-thread-4生成任务  还剩121pool-1-thread-7生成任务  还剩122pool-1-thread-6生成任务  还剩123生产者提示库存还剩:123pool-1-thread-15处理任务 还剩:122pool-1-thread-23处理任务 还剩:121生成现在库存:121pool-1-thread-9生成任务  还剩122pool-1-thread-8生成任务  还剩123pool-1-thread-2生成任务  还剩124生产者提示库存还剩:124pool-1-thread-27处理任务 还剩:123pool-1-thread-22处理任务 还剩:122生成现在库存:122pool-1-thread-10生成任务  还剩123pool-1-thread-3生成任务  还剩124pool-1-thread-5生成任务  还剩125生产者提示库存还剩:125pool-1-thread-16处理任务 还剩:124pool-1-thread-28处理任务 还剩:123生成现在库存:123pool-1-thread-4生成任务  还剩124pool-1-thread-1生成任务  还剩125pool-1-thread-7生成任务  还剩126生产者提示库存还剩:126pool-1-thread-13处理任务 还剩:125pool-1-thread-19处理任务 还剩:124生成现在库存:124pool-1-thread-6生成任务  还剩125pool-1-thread-9生成任务  还剩126pool-1-thread-8生成任务  还剩127生产者提示库存还剩:127pool-1-thread-23处理任务 还剩:126pool-1-thread-15处理任务 还剩:125生成现在库存:125pool-1-thread-2生成任务  还剩126pool-1-thread-10生成任务  还剩127pool-1-thread-3生成任务  还剩128生产者提示库存还剩:128pool-1-thread-11处理任务 还剩:127pool-1-thread-30处理任务 还剩:126生成现在库存:126pool-1-thread-5生成任务  还剩127pool-1-thread-1生成任务  还剩128pool-1-thread-4生成任务  还剩129生产者提示库存还剩:129pool-1-thread-24处理任务 还剩:128pool-1-thread-21处理任务 还剩:127生成现在库存:127pool-1-thread-7生成任务  还剩128pool-1-thread-6生成任务  还剩129pool-1-thread-9生成任务  还剩130生产者提示库存还剩:130pool-1-thread-19处理任务 还剩:129pool-1-thread-13处理任务 还剩:128生成现在库存:128pool-1-thread-8生成任务  还剩129pool-1-thread-2生成任务  还剩130pool-1-thread-10生成任务  还剩131生产者提示库存还剩:131pool-1-thread-15处理任务 还剩:130pool-1-thread-23处理任务 还剩:129生成现在库存:129pool-1-thread-3生成任务  还剩130pool-1-thread-5生成任务  还剩131pool-1-thread-1生成任务  还剩132生产者提示库存还剩:132pool-1-thread-27处理任务 还剩:131pool-1-thread-22处理任务 还剩:130生成现在库存:130pool-1-thread-4生成任务  还剩131pool-1-thread-7生成任务  还剩132pool-1-thread-6生成任务  还剩133生产者提示库存还剩:133pool-1-thread-24处理任务 还剩:132pool-1-thread-21处理任务 还剩:131生成现在库存:131pool-1-thread-9生成任务  还剩132pool-1-thread-8生成任务  还剩133pool-1-thread-2生成任务  还剩134生产者提示库存还剩:134pool-1-thread-13处理任务 还剩:133pool-1-thread-19处理任务 还剩:132生成现在库存:132pool-1-thread-10生成任务  还剩133pool-1-thread-3生成任务  还剩134pool-1-thread-5生成任务  还剩135生产者提示库存还剩:135pool-1-thread-23处理任务 还剩:134pool-1-thread-15处理任务 还剩:133生成现在库存:133pool-1-thread-1生成任务  还剩134pool-1-thread-4生成任务  还剩135

 

版权声明:本文为williamcai原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/williamcai/p/7126380.html