2016-05-14 61 views
-2

今天在採訪中,他們詢問了一個多線程問題,該問題創建了一個方法getDBConnect(),以便最多3個線程可以同時訪問它。如果第4次嘗試訪問getDBConnect()方法,則第4個線程將進入等待狀態,如果3個線程中的任何一個釋放方法getDBConnect(),則第4個線程將使用簡單線程或執行程序線程訪問getDBConnect()方法。可以同時訪問最多3個線程的java多線程方法

請幫我理解如何製作多線程程序,以便滿足上述條件。

+0

聽起來像您應該閱讀[this](https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Semaphore.html ) – zapl

+0

我正在投票結束這個問題,因爲它只是通過查看Java SE內置類的javadoc來滿足請求。 – hexafraction

+0

誰是「他們」? – Andremoniy

回答

0

我不打算爲你寫代碼。但我可以暗示這個問題是關於什麼的。有一個非常有趣的叫做Semaphore的多線程同步原語。 JDK包含詳細說明和使用示例https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/Semaphore.html

+0

謝謝@Dewfy它會幫助很多。我試圖用這個幫助來製作代碼,然後我會用答案來檢查。請給我一些時間,然後我會標記爲答案。 –