【发布时间】:2016-02-25 08:37:44
【问题描述】:
我的代码中有一个 call() 方法,它根据某些条件调用特定的方法:
call(){
if(a){
methodA();
}
if(b){
methodB();
}
if(c){
methodC();
}
}
在上面的场景中,我想限制methodC的并发执行。 如何实现?
【问题讨论】:
-
您能否更具体地说明“限制”的含义?
-
假设多个线程(例如 10 个线程)正在调用 call() 方法,并且对于所有线程 if(c) 返回 true,那么一次只有特定数量的线程(例如 3 个)应该执行方法C同时进行。其他线程将在这 3 个线程完成任务后执行。因此,将methodC的并发执行限制为3