android java thread_Android-Java-Thread的使用

main线程跑三个任务:

packageandroid.java.thread2;classDemo {privateString name;publicDemo(String name) {this.name =name;

}public voidshowMethod() {for (int i = 0; i < 10; i++) {

System.out.println("Demo showMethod >>>>>>>" + name + " " +i);

}

}

}public classTest {public static voidmain(String[] args) {

Demo demo1= new Demo("步惊云");

Demo demo2= new Demo("秦霜");//任务1 >>>main线程在执行

demo1.showMethod();//任务2 >>>main线程在执行

demo2.showMethod();//任务3 >>>main线程在执行

for (int i = 0; i < 10; i++) {

System.out.println("Test main " +i);

}

}

}

执行的结果:

Demo showMethod >>>>>>>步惊云 0

Demo showMethod >>>>>>>步惊云 1

Demo showMethod >>>>>>>步惊云 2

Demo showMethod >>>>>>>步惊云 3

Demo showMethod >>>>>>>步惊云 4

Demo showMethod >>>>>>>步惊云 5

Demo showMethod >>>>>>>步惊云 6

Demo showMethod >>>>>>>步惊云 7

Demo showMethod >>>>>>>步惊云 8

Demo showMethod >>>>>>>步惊云 9

Demo showMethod >>>>>>>秦霜 0

Demo showMethod >>>>>>>秦霜 1

Demo showMethod >>>>>>>秦霜 2

Demo showMethod >>>>>>>秦霜 3

Demo showMethod >>>>>>>秦霜 4

Demo showMethod >>>>>>>秦霜 5

Demo showMethod >>>>>>>秦霜 6

Demo showMethod >>>>>>>秦霜 7

Demo showMethod >>>>>>>秦霜 8

Demo showMethod >>>>>>>秦霜 9

Test main 0

Test main 1

Test main 2

Test main 3

Test main 4

Test main 5

Test main 6

Test main 7

Test main 8

Test main 9

从以上结果可以看出:

这三个任务都是被main这一个线程来完成的,这样会造成 demo1.showMethod(); 执行的时候 demo2.showMethod(); 任务3处于等待状态

a1a0f30d40e958aa68e976a1c6d4f9ed.png

三个任务同时执行,使用Thread

packageandroid.java.thread2;class Demo extends Thread { //继承Thread 并重写 run() 方法,属于定义一个线程子类

privateString name;publicDemo(String name) {this.name =name;

}/*** run方法里面执行的是start线程里面执行任务*/@Overridepublic voidrun() {super.run();

showMethod();

}public voidshowMethod() {for (int i = 0; i < 10; i++) {

System.out.println("Demo showMethod >>>>>>>" + name + " " +i);

}

}

}public classTest {public static voidmain(String[] args) {

Demo demo1= new Demo("步惊云");

Demo demo2= new Demo("秦霜");//任务1 >>>启动一个新线程去执行任务

demo1.start();//任务2 >>>启动一个新线程去执行任务

demo2.start();//任务3 >>>main线程在执行

for (int i = 0; i < 10; i++) {

System.out.println("Test main " +i);

}

}

}

第一次执行结果:

Demo showMethod >>>>>>>步惊云 0

Demo showMethod >>>>>>>秦霜 0

Demo showMethod >>>>>>>秦霜 1

Demo showMethod >>>>>>>秦霜 2

Demo showMethod >>>>>>>秦霜 3

Demo showMethod >>>>>>>步惊云 1

Demo showMethod >>>>>>>步惊云 2

Demo showMethod >>>>>>>步惊云 3

Demo showMethod >>>>>>>步惊云 4

Demo showMethod >>>>>>>步惊云 5

Demo showMethod >>>>>>>步惊云 6

Demo showMethod >>>>>>>步惊云 7

Demo showMethod >>>>>>>秦霜 4

Demo showMethod >>>>>>>秦霜 5

Demo showMethod >>>>>>>秦霜 6

Demo showMethod >>>>>>>秦霜 7

Demo showMethod >>>>>>>秦霜 8

Demo showMethod >>>>>>>秦霜 9

Test main 0

Test main 1

Demo showMethod >>>>>>>步惊云 8

Demo showMethod >>>>>>>步惊云 9

Test main 2

Test main 3

Test main 4

Test main 5

Test main 6

Test main 7

Test main 8

Test main 9

第二次执行结果:

Demo showMethod >>>>>>>步惊云 0

Demo showMethod >>>>>>>步惊云 1

Demo showMethod >>>>>>>步惊云 2

Demo showMethod >>>>>>>步惊云 3

Demo showMethod >>>>>>>步惊云 4

Demo showMethod >>>>>>>步惊云 5

Demo showMethod >>>>>>>步惊云 6

Demo showMethod >>>>>>>步惊云 7

Demo showMethod >>>>>>>步惊云 8

Demo showMethod >>>>>>>步惊云 9

Demo showMethod >>>>>>>秦霜 0

Demo showMethod >>>>>>>秦霜 1

Demo showMethod >>>>>>>秦霜 2

Test main 0

Test main 1

Test main 2

Test main 3

Test main 4

Test main 5

Test main 6

Test main 7

Test main 8

Test main 9

Demo showMethod >>>>>>>秦霜 3

Demo showMethod >>>>>>>秦霜 4

Demo showMethod >>>>>>>秦霜 5

Demo showMethod >>>>>>>秦霜 6

Demo showMethod >>>>>>>秦霜 7

Demo showMethod >>>>>>>秦霜 8

Demo showMethod >>>>>>>秦霜 9

第三次执行结果:

Demo showMethod >>>>>>>步惊云 0

Demo showMethod >>>>>>>秦霜 0

Demo showMethod >>>>>>>秦霜 1

Demo showMethod >>>>>>>秦霜 2

Demo showMethod >>>>>>>秦霜 3

Demo showMethod >>>>>>>秦霜 4

Test main 0

Test main 1

Test main 2

Test main 3

Test main 4

Test main 5

Test main 6

Test main 7

Test main 8

Test main 9

Demo showMethod >>>>>>>秦霜 5

Demo showMethod >>>>>>>秦霜 6

Demo showMethod >>>>>>>秦霜 7

Demo showMethod >>>>>>>秦霜 8

Demo showMethod >>>>>>>秦霜 9

Demo showMethod >>>>>>>步惊云 1

Demo showMethod >>>>>>>步惊云 2

Demo showMethod >>>>>>>步惊云 3

Demo showMethod >>>>>>>步惊云 4

Demo showMethod >>>>>>>步惊云 5

Demo showMethod >>>>>>>步惊云 6

Demo showMethod >>>>>>>步惊云 7

Demo showMethod >>>>>>>步惊云 8

Demo showMethod >>>>>>>步惊云 9

以上三次结果是由CPU非常快速切换决定的

88a7916136ee6b6577efe888f08891a8.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值