繁体   English   中英

同时运行2个线程

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM