Java 启动两个线程?
Java starting two threads?
我是 java 的新手。我有两个看起来像的类:
public class hsClient implements Runnable {
public void run() {
while(true){
}
}
}
public class hsServer implements Runnable {
public void run() {
while(true){
}
}
}
如果我尝试将两个类作为线程启动,它不会启动第二个线程。看起来他卡在了第一个。
这是我的主课:
public static void main(String[] args) throws IOException {
hsClient client = new hsClient();
Thread tClient = new Thread(client);
tClient.run();
System.out.println("Start Client");
hsServer server = new hsServer();
Thread tServer = new Thread(server);
tServer.run();
System.out.println("Start Server");
}
如果我运行我的代码,它只会在控制台上打印 "Start Client" 而不会打印 "Start Server"
将 tClient.run()
替换为 tClient.start()
,将 tServer.run()
替换为 tServer.start()
。
调用run
方法直接在当前线程中执行,而不是在新线程中执行。
要启动线程,请使用 start
方法。
Thread tClient = new Thread(client);
tClient.start(); // start the thread
可以找到有关线程的更多信息,例如在 JavaDoc
我是 java 的新手。我有两个看起来像的类:
public class hsClient implements Runnable {
public void run() {
while(true){
}
}
}
public class hsServer implements Runnable {
public void run() {
while(true){
}
}
}
如果我尝试将两个类作为线程启动,它不会启动第二个线程。看起来他卡在了第一个。
这是我的主课:
public static void main(String[] args) throws IOException {
hsClient client = new hsClient();
Thread tClient = new Thread(client);
tClient.run();
System.out.println("Start Client");
hsServer server = new hsServer();
Thread tServer = new Thread(server);
tServer.run();
System.out.println("Start Server");
}
如果我运行我的代码,它只会在控制台上打印 "Start Client" 而不会打印 "Start Server"
将 tClient.run()
替换为 tClient.start()
,将 tServer.run()
替换为 tServer.start()
。
调用run
方法直接在当前线程中执行,而不是在新线程中执行。
要启动线程,请使用 start
方法。
Thread tClient = new Thread(client);
tClient.start(); // start the thread
可以找到有关线程的更多信息,例如在 JavaDoc