【发布时间】:2014-08-01 22:06:31
【问题描述】:
我有一个智能卡阅读器池,我可以使用它们来计算数字签名。 此智能卡需要一段时间才能签名,因此我需要设置一个池来对请求进行排队并尽快处理它们。
这就是我使用单个智能卡的方式:
try{
Smartcard smartcard=new Smartcard(slot); //slot: reader number
smartcard.sign(file);
}catch(SmartcardException e){
throw e; //unusable smartcard
}
我想使用 ExcecutorService 来管理多个智能卡,使用池大小等于智能卡读卡器。 我的疑问是,如果使用此对象,我是否可以将单个阅读器附加到每个线程,此外,它是否可以停止单个线程,以防其智能卡因 SmartcardException 而失败(例如:智能卡被移除或损坏)。
我继续:
- 我有一个设备池(智能卡读卡器),我需要一个自动系统来管理他们的工作队列。
- 如果发生故障,必须将设备设置为不可用并移除。
- 我想实现最短的请求等待时间。
ExecutorService 合适吗?
【问题讨论】:
-
ExcecutorService是抽象的。如果你不说 whichExcecutorService你在谈论,你就不能说ExcecutorService是否适合你的任务。 -
是的,当然,最后我认为没有一个 ExcecutorService 的实现是合适的......我需要建立自己的实现连接到每个设备。
标签: java multithreading executorservice