有一个巴士预订网站,大约有 10 万个线程正在运行,但总座位数只有 20 个。您将如何控制性能以及 Java 多线程的方法是什么?
我回答说我将采用同步方法或 block ,因为它将控制并发线程,而锁定将阻止异步执行。
但是面试官打断了我,说同步是一个虚假的想法,性能会下降,而且没有帮助。
如果我缺少任何其他可以解决此问题的有用的多线程概念,请告诉我
最佳答案
你必须使用permits 20的Semaphore,如果乘客被认为是线程的话,这意味着一次可以有20个乘客占用座位。这可能仅在核心 java 多线程的情况下才有答案。
关于java - 如何在java中最有效且无需同步地使用多个线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56102833/