以下挑战白话文解说
我固定请了5个员工,然后分配5个员工去从生产,而工厂的生产前,
必须有人去打开电源,才能使机械运作,才能开始生产。
若有1个员工要从事生产时,若发现电源没开的话,
就会请下一个员工,也就是第2名员工,去打开电源开关。
当我工厂要一口气生产4个产品的时候,就会一口气有4个人冲向机台,
等待开工,这时第5个人就会去打开电源开关。
很不幸的事,我一口气要生产5个产品的时候,就有5个人冲向机台,
但是没有人去打开电源,因为我一开始就说了,我只请5个员工 Orz
然后整个工厂就停工了 ...
◢▆▅▄▃崩╰(〒皿〒)╯溃▃▄▅▇◣
Thread 有办法限制说不会进行 wait吗?
或者变成 non-blocking 的形式有可能吗?
或者该怎么避免此问题的发生呢?
从描述可以看的出来勤俭持家的我是用
Executors.newFixedThreadPool
而不是用有钱人专用的 ( 大误 )
Executors.newCachedThreadPool
小弟我想请教 大大们都怎样解决这问题? Q"Q