javasocket多线程
发布时间: 2025-01-01 04:59:47
⑴ java socket多线程的问题可以多个线程使用同一个socket吗
可以写个demo试一下啊,应该是可以的,socket接收到的消息只能被其中一个线程接收。线程1 和2 接受到的肯定不是同一个消息。会有先后之分。看你怎么控制。比如从接收的消息是ABCD,那么这相当于一个资源。线程1和2在这里拿消息,拿到之后,socket里面就少了,比如线程1拿到AB,线程2拿到CD
⑵ 关于Socket多线程编程的recv函数问题
建议设个flag,在服务端进这个while后,如果没处理(文件没发送)完毕前,不在进入,或多开几个thread设置不同端口等待接收客户端的要求。
⑶ Java多线程Socket的关闭问题
创建一个新线程时将这个线程对象的引用赋给一个变量:
MyThread thread1 = new MyThread();
MyThread thread2 = new MyThread();
thread1.start();
thread2.start();
在你的线程类中应该提供一个方法,用于关闭这个线程所创建的socket连接。例如你的MyThread类中应该提供一个关闭socket的方法:
public void closeSocket()
{
//这里关闭当前对象的socket
}
这样,如果你想关闭thread1中的连接(该连接使用8888端口),则只要调用这个方法:
thread1.closeSocket();
热点内容