1 回答

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超9個(gè)贊
如果通過調(diào)用 addToQueue 將消息添加到提供者類中會(huì)發(fā)生什么?
getNextQueuedItem()
和addToQueue(...)
都是synchronized
方法。如果這是唯一訪問 的兩個(gè)方法private ... internalQueue
,那么多個(gè)線程就無法同時(shí)訪問internalQueue
。
當(dāng)一個(gè)工作線程正在遍歷所有提供程序并調(diào)用 getNextQueuedItem() 時(shí),當(dāng)另一個(gè)工作線程也調(diào)用所有提供程序并調(diào)用 getNextQueuedItem() 時(shí),會(huì)發(fā)生什么情況?
您是否詢問多個(gè)工作人員訪問同一提供商?這是不可能發(fā)生的,因?yàn)?code>getNextQueuedItem()這是一種synchronized
方法。
- 或者 -
您是否詢問不同的工作人員訪問不同的提供商?這應(yīng)該不重要(至少,就類而言BaseProvider
),因?yàn)樗坪鯖]有任何方式可以將不同的對(duì)象相互連接起來。
添加回答
舉報(bào)