2016-05-14 86 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它会帮助很多。我试图用这个帮助来制作代码,然后我会用答案来检查。请给我一些时间,然后我会标记为答案。 –