执行线程和控制这些线程的数量

时间:2017-03-13 18:48:06

标签: java multithreading spring-boot thread-safety

首先你应该知道我正在使用spring-boot。我有一些请求,必须执行同步,并且可能需要10秒。我知道每个请求spring都会创建新线程。所以对我来说没问题。

在这里,我解释了为什么我需要同步执行方法。我不确定是否有必要,但我认为这是必要的。

此外,我想控制这些线程的数量,我将做类似的事情:

@Controller
class SomeContoller {
    @Synchronized
    int threadsCnt = 0;
    final int LIMIT = 10;     

    @PostMappin(...) 
    void someFunction() {
       if (threadsCnt >= LIMIT) {
          throw new LimitExceeded(...);
       }
       threadsCnt++;
       execute synchronously method ~ 10 s.
       threadCnt--;
}

0 个答案:

没有答案