写了一个例子测试一下,分别为两个类和一个main的线程。
输出结果:共有三个线程,编号分别为11、12、1。
改为输出类里面的字符串更为明显,设置完一秒延迟,可以发现线程基本交替运行。
package main;
import java.io.IOException;
import java.io.InputStream;
import java.net.Socket;
import java.util.concurrent.TimeUnit;
class A extends Thread
{
private String x;
public A(String w)
{
x = w;
start();
}
public void run()
{
while (true)
{
System.out.println(Thread.currentThread().getId());
try
{
sleep(1000);
} catch (InterruptedException e)
{
e.printStackTrace();
}
}
}
}
public class test
{
public static void main(String[] args) throws InterruptedException
{
A a = new A("123");
A b = new A("456");
while (true)
{
System.out.println(Thread.currentThread().getId());
Thread.currentThread().sleep(1000);
}
}
}