두 개의 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.execute (작업)을 통해 TaskThreadPool2에 5 개 이상의 작업을 제출할 경우 행동 일 것입니다 무슨 질문을 가지고 코드입니다.
TaskThreadPool1도 이러한 작업을 실행해야한다고 생각합니다. bcoz도 동일한 대기열을 듣고 있습니다.
실제로 코드로 데이터. – Perception