Java 如何管理多个线程?
我花了几天时间试图弄明白这一点,我还有O'Reilly Java Threads的书。我还没有弄明白这一点: 我正在运行RHEL Linux 6和Java 6 当我的程序启动时,我想通过打开的侦听端口进行循环。对于每一个端口,我想启动一个线程,该线程将侦听syn数据包,然后使用tcp/ip更新数据库,并在每次有人或某事尝试连接到该端口时处理信息 也许我的想法是错的。我期待着某种类似套接字的数组,它为我提供了某种管理线程的方法 例如,我启动了一个线程来监视端口8561,但是它有一个错误。当8561出现错误并结束时,我可能想检查它,再试一次,或者其他什么。我怎么知道它结束的时候是哪根线Java 如何管理多个线程?,java,multithreading,Java,Multithreading,我花了几天时间试图弄明白这一点,我还有O'Reilly Java Threads的书。我还没有弄明白这一点: 我正在运行RHEL Linux 6和Java 6 当我的程序启动时,我想通过打开的侦听端口进行循环。对于每一个端口,我想启动一个线程,该线程将侦听syn数据包,然后使用tcp/ip更新数据库,并在每次有人或某事尝试连接到该端口时处理信息 也许我的想法是错的。我期待着某种类似套接字的数组,它为我提供了某种管理线程的方法 例如,我启动了一个线程来监视端口8561,但是它有一个错误。当8561
谢谢大家! 您遇到的错误是什么?您可以发布代码片段吗?如果没有更多信息,我们将无法帮助您。您能提供您的代码吗?如果您在线程中打开一个新通道而没有关闭具有相同地址/端口的前一个通道,则可能会出现错误。您可以使用信号或线程池。通常,尝试微管理线程的结果会很糟糕。对于多个并行网络请求,将请求对象提交到threadpool队列(其中线程数由threadpool类固定或管理)比尝试在数组中管理线程句柄要安全得多。我的问题可能是一个简单的误解,因为我对Java不熟悉,可能正在与其他语言进行比较。