lam*_*tat 3 java multithreading network-programming simultaneous-calls
在IM客户端的情况下.我已经做了2个单独的线程来处理发送数据包(通过std io)和接收数据包.问题是如何使这两个线程同时运行,以便我可以保持提示输入,同时随时准备接收数据包?
我已经尝试过设置定时器,但数据总是丢失接收.
jsi*_*ght 21
没有更多细节,很难给出完整的答案.不过,这是启动两个线程的代码:
Thread thread1 = new Thread () {
public void run () {
// ... your code here
}
};
Thread thread2 = new Thread () {
public void run () {
// ... your code here
}
};
thread1.start();
thread2.start();
Run Code Online (Sandbox Code Playgroud)
好吧,除非你有一台多处理器计算机,否则它们不会同时运行,但这通常不是问题.将会发生的是,每个线程或多或少地会得到一些时间.
如果您正在丢失I/O,那可能不是线程是您真正的问题.你能告诉我们你是怎么读这些东西的吗?
我想你可能错过了Threads,Streams或两者都有重要意义:-)
你可以像这样开始一个新的线程:
myThread.start();
线程将被启动,run()方法将由jvm自动执行.
如果线程run-method正在从Stream读取,并且它是唯一一个读取,它将不会"遗漏"该流中的任何内容.
归档时间: |
|
查看次数: |
53007 次 |
最近记录: |