版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/namelessfighter/article/details/82181999
Thread中有run和start两个方法。
run是以普通的方法运行,当有多个thread都run方法循环运行,那么将会一个个按顺序运行;
start是以独立线程运行,当有多个thread都start方法循环运行,那么将会以非阻塞的方式同时在运行。
如:
public class TestThread extends Thread
{
private Integer number;
public TestThread(number)
{
this.number = number;
}
@Override
public void run()
{
System.out.println("Hello : "+this.number );
}
}
run方式运行
for(int i=0;i<1000;i++)
{
new TestThread(i).run();
}
打印结果将是:(严格的按调用顺序,一个执行完再执行下一个)
Hello : 0
Hello : 1
Hello : 2
Hello : 3
Hello : 4
……
start方式运行
for(int i=0;i<1000;i++)
{
new TestThread(i).start();
}
打印结果将是:(会真正的运行1000个线程)
Hello : 1
Hello : 5
Hello : 6
Hello : 4
Hello : 10
……