[英]Running 2 threads simultaneously
在IM客户端的情况下。 我已经做了2个单独的线程来处理发送数据包(通过std io)和接收数据包。 问题是如何使这两个线程同时运行,以便我可以保持提示输入,同时随时准备接收数据包?
我已经尝试过设置定时器,但数据总是丢失接收。
没有更多细节,很难给出完整的答案。 不过,这是启动两个线程的代码:
Thread thread1 = new Thread () {
public void run () {
// ... your code here
}
};
Thread thread2 = new Thread () {
public void run () {
// ... your code here
}
};
thread1.start();
thread2.start();
好吧,除非你有一台多处理器计算机,否则它们不会同时运行,但这通常不是问题。 将会发生的是,每个线程或多或少地会得到一些时间。
如果您正在丢失I / O,那可能不是线程是您真正的问题。 你能告诉我们你是怎么读这些东西的吗?
我想你可能错过了Threads,Streams或两者都有重要意义:-)
你可以像这样开始一个新的线程:
myThread.start();
线程将被启动,run()方法将由jvm自动执行。
如果线程run-method正在从Stream读取,并且它是唯一一个读取,它将不会“遗漏”该流中的任何内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.