我的应用程序的UI在主线程上运行,它创建一个等待连接的TCP侦听器线程,然后创建另一个将处理连接的线程。有没有办法TCP处理线程可以与我的主线程交互,设置UI的元素或调用任何并发运行的函数?
这是我主线程中的网络控制器,用于创建新的TCP侦听器
public void serverStart() throws IOException {
Thread t = new Thread(new TCPEchoServer(this.getApp()));
t.start();
我试过传递一个实例化的应用程序控制器,希望它可以与主线程进行交互但是我得到了java.lang.reflect.InvocationTargetException
这是创建ClientThread的TCP侦听器,它将处理来自我想要联系主线程的信息
while (true) {
/*server will accept a connection and start a new "ClientThread" for that connection */
try {
Socket socket = serverSocket.accept();
ClientThread clientThread = new ClientThread(socket, ++clientId,app);
clientThread.start();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}