使用来自不同线程的相同套接字

时间:2016-10-13 10:37:42

标签: java multithreading sockets

我在一个线程中创建并连接了套接字。我可以在另一个线程中使用相同的Socket对象吗?

他们同样的问题是OutputStream。我可以使用不同的线程。

Socket s = null;
//create and connect cocket
//...
OutputStream out = s.getOutputStream();

例如,我可以从不同的线程写入数据吗?

out.write(byteArr);

1 个答案:

答案 0 :(得分:0)

当然,你可以在类whitch中使用一个变量来扩展Thread。例如:

public class MyClass extends Thread {
    Socket s;
    public MyClass(Socket s){
        ...
        this.s = s;
    }
    @Override
    public void run(){
        ... your code and usage of socket
        OutputStream out = s.getOutputStream();
        out.write(byteArr);
    }
}

在主要课程中或您想要的地方

Myclass m = New MyClass(mySocket);
m.start();