我有一個場景,其中兩個threadPool實例共享相同的阻塞隊列。下面是代碼ThreadPoolExecutor共享相同的阻塞隊列
<bean id="TaskQueue" class="java.util.concurrent.LinkedBlockingQueue">
<constructor-arg type="int">
<value>1000</value>
</constructor-arg>
</bean>
<bean id="TaskThreadPool1" class="java.util.concurrent.ThreadPoolExecutor">
<constructor-arg type="int">
<value>10</value>
</constructor-arg>
<constructor-arg type="int">
<value>50</value>
</constructor-arg>
<constructor-arg type="long">
<value>5</value>
</constructor-arg>
<constructor-arg>
<value>SECONDS</value>
</constructor-arg>
<constructor-arg>
<ref bean="TaskQueue" />
</constructor-arg>
</bean>
<bean id="TaskThreadPool2" class="java.util.concurrent.ThreadPoolExecutor">
<constructor-arg type="int">
<value>1</value>
</constructor-arg>
<constructor-arg type="int">
<value>1</value>
</constructor-arg>
<constructor-arg type="long">
<value>5</value>
</constructor-arg>
<constructor-arg>
<value>SECONDS</value>
</constructor-arg>
<constructor-arg>
<ref bean="TaskQueue" />
</constructor-arg>
</bean>
現在我有一個問題,會是什麼,如果我將在TaskThreadPool2通過TaskThreadPool2.execute(任務)提交超過5任務行爲。
我覺得TaskThreadPool1也應該開始執行這些任務bcoz它也在監聽同一隊列。
數據確實是代碼。 – Perception