跪求: Java线程调用问题,求求高手帮帮忙。
代码如下:
第一个文件的片段:
btSaleNow.setOnAction((ActionEvent e) ->
{
System.out.println("start");
new Thread(() ->
{
StealProcess sp = new StealProcess(socket);
sp.StealProcess_btSaleNow(btSaleNow.getText());
});
System.out.println("end");
});
第二个文件的片段:
public class StealProcess
{
Socket socket;
BufferedReader br;
BufferedWriter bw;
StealProcess(Socket tSocket)
{
System.out.println("in");
this.socket = tSocket;
System.out.println("out");
}
public void StealProcess_btSaleNow(String str) throws IOException
{
System.out.println("btaaa");
br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
SendMessage(str);
System.out.println("Error.");
}
public void SendMessage(String str) throws IOException
{
System.out.println("send message.");
bw.write("get" + str);
bw.newLine();
bw.flush();
}
...........
为什么“in"和"out"两个字符没有输出?或者说,我这段代码的问题在哪里?
我感觉New Thread(()->后面花括号中的内容根本就没有执行啊。哪位高手帮忙看看,我已经被线程这东西给绕晕了。