线程,Thread类
![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/5dc4f3563447f11fe0af846405573b64.png#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/8f0ba7fefa2295221cbf0c88ff5d17d6.png#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/7c67388a0fc6dc7e81fb05c7025b14e0.png#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/63a88845a59440ce1401b7fc2be901e6.png#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/8699c58f6a90e4618948966b6fd398e4.png#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/e320e84b882d1a82245311902a3c73e6.png#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/73e641a1f0f228168f1da15e05d392b1.png#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/1d5638c3dc48f6420fb565d9129c3427.png#pic_center)
~~~java
package Demo1;
//先创建一个继承Thread---->重写run方法---->调用start开启线程
//线程开始不一定立即执行,由cpu调度执行
public class testThread1 extends Thread{
@Override
public void run() {
//run方法线程体
for (int i = 0; i < 2; i++) {
System.out.println("123---"+i);
}
}
public static void main(String[] args) {
//main方法是主线程
//创建一个线程对象
testThread1 testThread1 = new testThread1();
//调用start方法,start是和main同时执行
//如果调用run方法,就是run方法先执行
testThread1.start();
//testThread1.run();
for (int i = 0; i < 1000; i++) {
System.out.println("321---"+i);
}
}
}