开启步骤1
1.创建子类继承Thread,重写run方法。
2.创建子类对象调用方法。
public class myThread extends Thread{
@override
publlic void run(){
for(int i=0;i<10;i++){
system("run"+i);
}
}
}
main{
myThread mt =new myThread();
mt.start();
for(int j=0;j<10;j++){
sys("main"+j);
}
}
输出: //并不固定,谁抢到谁用
main 0
run0
main 1
对于多线程,它的执行是采取新建一个栈来执行run方法。单线程则是通过压栈先main方法在run方法执行。
开启步骤2
1创建runable实现类,重写run方法。
2.在main方法创建实现类的对象,创建thread类对象,并将实现类对象传到thread。
3.调用start
此方法实现线程设置与开启分离,建议多用这个
public class runimpl implment Runable{
@override
public void run(){
for(int i=0;i<5;i++){
sys(thread.currentThread.getName()+i);
}
}
}
main{
runimpl ru=new runimpl();
Thread th=new Thread(ru); //传递不同实现接口实现不同功能。
th.start();
}
开启步骤3
内部类!
mian{
new Thread(){
@override
public void run(){
sys(Thread.currentThread().getName());
}
}.start();
}
new Thread(new Runale(){
run(){
}
}).start();
睡眠sleep
使其延迟进行
main{
for(int i=0;i<10;i++){
sys(i);
thread.sleep(1000); //使当前进程睡眠1s,输出缓慢进行
}
}