Java 处理多个客户端 - 多线程?

标签 java multithreading sockets networking

我对制作一个可以接受和处理多个连接客户端的 I/O 的应用程序非常感兴趣。

有人告诉我,为了提高性能,我需要使用两个线程。

线程 1

接受连接

线程2

处理客户端 I/O 和响应

我已经了解了什么是线程,我确实使用了它,但我不太确定如何将我的程序(没有一个,只是说)分成两个线程。

我怎样才能做到这一点?

其中一个线程应该有它自己的类? 我不知道有什么好的设计可以应用,以便我可以更好地理解它。

我该怎么做?你能给我举个小例子吗?

最佳答案

Here's an example有一个完整的教程,希望对您有所帮助。请注意您如何拥有一个线程(主线程,从一开始),并且每次收到连接时,都会生成一个 KKMultiServerThread 类型的新线程。

一旦您熟悉了这一点,请考虑使用 Thread Pool而不是仅在连接启动时创建新线程。

享受 Java!

关于Java 处理多个客户端 - 多线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20287749/

相关文章:

multithreading - Postgres 锁在不同的 goroutine 上表现不一致

java - Android 的接口(interface)方法是在哪个线程中调用的?同步还是异步?

c# - 如何等到对话框真正关闭

php - PHP/UDP : Can write via UDP,,但无法接收数据接缝

sockets - 为什么在此网络服务器示例中需要额外的\r\n?

c++ - 检查socket是否连接

java - 我们可以将整数转换为字符吗

java - 用于 Java 的 Visual Studio?

Java jasper 报 NullPointerException

java - 如何检查输入流是否不包含数据?