Java 多线程------多线程的创建,方式一:继承于Thread类

 1 package com.bytezero.thread;
 2 
 3 /**
 4  * 多线程的创建,方式一:继承于Thread类
 5  * 1.创建一个继承于Thread类的子类
 6  * 2.重写Thread类的run()方法 -->将此线程执行的操作声明在tun()中
 7  * 3.创建Thread类的子类对象
 8  * 4.通过此对象调用start()
 9  *
10  * 例子:遍历100以内的所有偶数
11  * @author Bytezero1·zhenglei!    Email:420498246@qq.com
12  * create  2021-10-15 10:13
13  */
14 
15 
16 //1.创建一个继承于Thread类的子类
17 class  MyThread extends  Thread{
18     //2.重写Thread类的run()方法
19     @Override
20     public void run() {
21         for (int i = 0; i <=100 ; i++) {
22             if(i % 2 ==0){
23                 System.out.println(Thread.currentThread().getName()+":"+i);
24             }
25         }
26     }
27 }
28 
29 
30 public class ThreadTest {
31     public static void main(String[] args) {
32         //3.创建Thread类的子类对象
33         MyThread t1 = new MyThread();
34 
35         //4.通过此对象调用start():①启动当前线程 ②调用当前线程的run()
36         t1.start();   //Thread-0
37         //问题一:我们不能通过直接调用run()的方式启动线程
38 //        t1.run();  //不是线程  只是 调用了方法
39 
40         //问题二:再启动线程,遍历100以内的偶数,不可以还让已经start()的线程去执行.会报
41         //IllegalThreadStateException异常
42         //t1.start();   //不可以
43 
44         //需要重新创建一个线程的对象
45         MyThread t2 = new MyThread();
46         t2.start();   //Thread-1
47 
48 
49 
50         //如下操作仍然在main线程中执行的
51         for (int i = 0; i <=100 ; i++) {
52             if(i % 2 != 0){
53 
54                 System.out.println(Thread.currentThread().getName()+":"+i+"********");
55             }
56         }
57 
58 
59     }
60 
61 
62 }

 

 ..........................

posted on 2021-10-15 18:58  Bytezero!  阅读(65)  评论(0编辑  收藏  举报