多线程

时间:2009-06-23 09:32:36

标签: java multithreading

我正在做一个客户端 - 服务器应用程序,其中有多个客户端,它们由单个服务器控制.... 在这里我捕捉所有客户的屏幕,我希望他们发送towords服务器...所以它需要多线程.... 所以有人能告诉我如何在我的应用程序中使用多线程......?

4 个答案:

答案 0 :(得分:1)

读取java.util.concurrent,特别是Callable接口,它比早期Java版本中的Runnable接口更好,因为它允许您从call返回一个值方法(与run方法相对)。线程池也很有用 - 它们由Executor类创建为ExecutorServices,您可以限制线程数,从而限制服务器端的负载。当然,JavaDoc中的示例是一个简单的服务器,它接受来自客户端的连接,因此它可能适用于您的情况(尽管描述不是很清楚)。

否则,线程是一个非常大的主题,在这里的帖子中真的无法回答。你可以买一本关于Java Threading的书,但我不知道哪一本是最好的。

答案 1 :(得分:0)

答案 2 :(得分:0)

这显然不是一个多线程问题,正如你所描述的那样;

  • 如果这是一个客户端驱动的场景(即客户选择何时发送他们的屏幕),你可以让他们在服务器中调用一个方法。
  • 如果它是服务器驱动的,您可以使用Observer模式

无论哪种方式,如果问题如您所述,您可以避免多线程!

答案 3 :(得分:0)

理想情况下,您应该为您已经为您处理此问题的服务器实施使用Web服务器或应用服务器。

如果这是某种自定义服务器,那么您应该检查已经提到的线程池。如果您不需要线程安全的工作线程执行的工作没有任何问题(即只是一个简单的并发调度性能问题),这可能就足够了。

如果您需要深入了解线程安全编程,那么您需要做更多的研究,阅读书籍,理想情况下需要接受一些指导。