我在Java上创建基于客户端服务器的应用程序,我遇到了与线程相关的问题。
所以基本上,我有一个GUI,其中包含同一个类的实例列表,每个项目具有不同的ID。当用户点击其中一个时,弹出一个窗口,用户可以键入命令发送到服务器,并根据列表中项目的ID接收答案。但是,因为它们都是同一个类的实例,所以它们对列表中的每个项使用相同的线程(让我们称之为“Listen”)来接收来自服务器的消息。所以问题是,“监听”线程在接收操作期间从一个实例跳转到另一个实例,这会导致id的变化,并且无法正确接收答案。
问题是,是否可以将每个线程与项绑定,因此在执行receive方法期间不会更改。
答案 0 :(得分:0)
不确定如何处理实例。但似乎所有的执行都发生在UI线程中。您可以为每个实例创建一个单独的线程。如果你的类没有实现任何东西,你可以实现类的runnable接口。这样你的类实例就可以自行执行。所以你在线程中等待,直到响应来了。这样您就不需要将新线程绑定到您的实例。快速浏览本教程:http://tutorials.jenkov.com/java-concurrency/creating-and-starting-threads.html