多线程创建和运行---学习随笔
我们都知道多线程有两种创建方式:
1、通过thread子类创建,子类重写了父类中的run方法;重写run方法是为了写线程的执行内容;不重写的话调用父类的run方法,父类run方法是
public void run(){
if(this.target!=null){
this.target.run();
}
}
未重写run方法的话线程将不进行任何操作
2、通过runable实现创建对象
new Thread(new Runable(){
//重写run方法实现线程操作逻辑
run(){}
})
把runable对象传入thread之后thread中run()方法执行执行runable的润方法
new Thread(new Runable(){
run()//1
}){
run()//2
};
程序执行分析:
由于创建线程对象时通过thread子类的方式创建 重写了run方法所以线程开始后执行2处的run方法,而runable对象处的run方法未执行,