调用start的结果

package TestException;

public class test1 {

public static void main(String[] args) {
// 3:直接创建Thread的子类对象创建线程。
Test2 s= new Test2("张三");
Test2 s1 = new Test2("test");
//调用start(里面会自动去执行run方法中的代码块) 4:调用start方法开启线程并调用线程的任务run方法执行。
s.start();
s1.start();
}

}
//继承Thread 1:定义一个类 继承Thread类。
class Test2 extends Thread {
String name;
Test2(String name){
this.name=name;
}
public void show(){

for(int i=0;i<100;i++){
System.out.println(name+i);
}
}
//重新run方法 2:重写Thread类的run方法。
public void run(){
show();
}

}
结果:

test0
张三0
test1
张三1
test2
张三2
test3
张三3
test4
test5
张三4
test6
test7
test8
test9
张三5
test10
张三6
test11
张三7
张三8
test12
张三9
张三10
张三11
test13
test14
test15
test16
张三12
test17
test18
test19
张三13
test20
张三14
张三15
张三16
张三17
张三18
张三19
张三20
张三21
test21
张三22
张三23
张三24
张三25
test22
张三26
test23
张三27
test24
张三28
test25
张三29
test26
test27
张三30
test28
张三31
test29
张三32
张三33
test30
test31
test32
test33
test34
test35
test36
test37
test38
test39
test40
test41
test42
test43
test44
test45
test46
test47
test48
test49
test50
test51
test52
test53
test54
test55
test56
test57
test58
test59
test60
test61
张三34
test62
张三35
test63
张三36
test64
张三37
张三38
test65
张三39
test66
张三40
test67
张三41
test68
张三42
test69
张三43
test70
张三44
张三45
张三46
test71
张三47
test72
张三48
test73
张三49
test74
张三50
test75
张三51
test76
张三52
test77
张三53
test78
张三54
test79
张三55
test80
张三56
张三57
test81
张三58
test82
张三59
test83
张三60
test84
test85
test86
test87
test88
test89
test90
test91
test92
test93
张三61
张三62
test94
张三63
张三64
张三65
张三66
张三67
张三68
test95
test96
test97
test98
test99
张三69
张三70
张三71
张三72
张三73
张三74
张三75
张三76
张三77
张三78
张三79
张三80
张三81
张三82
张三83
张三84
张三85
张三86
张三87
张三88
张三89
张三90
张三91
张三92
张三93
张三94
张三95
张三96
张三97
张三98
张三99
-----------------------------------
调用run

package TestException;

public class test1 {

public static void main(String[] args) {
// 3:直接创建Thread的子类对象创建线程。
Test2 s= new Test2("张三");
Test2 s1 = new Test2("test");
//这里调用跟调用普通方法没有任何区别,先调用谁就先执行谁,下面的方法必须要等上面的方法执行完才会执行
s.run();
s1.run();
}

}
//继承Thread 1:定义一个类 继承Thread类。
class Test2 extends Thread {
String name;
Test2(String name){
this.name=name;
}
public void show(){

for(int i=0;i<100;i++){
System.out.println(name+i);
}
}
//重新run方法 2:重写Thread类的run方法。
public void run(){
show();
}

}

结果:

张三0
张三1
张三2
张三3
张三4
张三5
张三6
张三7
张三8
张三9
张三10
张三11
张三12
张三13
张三14
张三15
张三16
张三17
张三18
张三19
张三20
张三21
张三22
张三23
张三24
张三25
张三26
张三27
张三28
张三29
张三30
张三31
张三32
张三33
张三34
张三35
张三36
张三37
张三38
张三39
张三40
张三41
张三42
张三43
张三44
张三45
张三46
张三47
张三48
张三49
张三50
张三51
张三52
张三53
张三54
张三55
张三56
张三57
张三58
张三59
张三60
张三61
张三62
张三63
张三64
张三65
张三66
张三67
张三68
张三69
张三70
张三71
张三72
张三73
张三74
张三75
张三76
张三77
张三78
张三79
张三80
张三81
张三82
张三83
张三84
张三85
张三86
张三87
张三88
张三89
张三90
张三91
张三92
张三93
张三94
张三95
张三96
张三97
张三98
张三99
test0
test1
test2
test3
test4
test5
test6
test7
test8
test9
test10
test11
test12
test13
test14
test15
test16
test17
test18
test19
test20
test21
test22
test23
test24
test25
test26
test27
test28
test29
test30
test31
test32
test33
test34
test35
test36
test37
test38
test39
test40
test41
test42
test43
test44
test45
test46
test47
test48
test49
test50
test51
test52
test53
test54
test55
test56
test57
test58
test59
test60
test61
test62
test63
test64
test65
test66
test67
test68
test69
test70
test71
test72
test73
test74
test75
test76
test77
test78
test79
test80
test81
test82
test83
test84
test85
test86
test87
test88
test89
test90
test91
test92
test93
test94
test95
test96
test97
test98
test99

调用run与调用start的区别的更多相关文章

  1. 调用start()方法和直接调用run()方法的区别

    调用start()方法和直接调用run()方法的区别 新建一个线程,只需要使用new关键字创建一个线程对象,并且调用start()方法即可. Thread thread = new Thread(); ...

  2. 手动调用run方法和普通方法调用没有区别

    手动调用run方法和普通方法调用没有区别

  3. java多线程调用run和不调用run的区别

    当在java程序中创建一个线程的时候,会三种情况: 1,只运行run方法 2,先执行start,再执行run方法 3,只运行start方法 三者的区别如下: 运行方式 区别 只运行run 只运行run ...

  4. 牛客网Java刷题知识点之调用线程类的start()方法和run()方法的区别

    不多说,直接上干货! 前期博客 牛客网Java刷题知识点之四种不同的方式创建线程 这里很简单 首先,系统通过调用线程类的start()方法来启动一个线程,此时这个线程处于就绪状态,而非运行状态,也就意 ...

  5. oracle创建函数和调用存储过程和调用函数的例子(区别)

    创建函数: 格式:create or replace function func(参数 参数类型) Return number Is Begin --------业务逻辑--------- End; ...

  6. 转 - RPC调用和HTTP调用的区别

    很长时间以来都没有怎么好好搞清楚RPC(即Remote Procedure Call,远程过程调用)和HTTP调用的区别,不都是写一个服务然后在客户端调用么?这里请允许我迷之一笑~Naive!本文简单 ...

  7. RPC调用和HTTP调用的区别

    很长时间以来都没有怎么好好搞清楚RPC(即Remote Procedure Call,远程过程调用)和HTTP调用的区别,不都是写一个服务然后在客户端调用么?这里请允许我迷之一笑~Naive!本文简单 ...

  8. JNI调用C和C++存在的区别

    JNI调用C和C++存在的区别   JNI是由C语言定义接口的,JNI通过函数名找函数入口,执行函数里的内容.这和函数用什么语言生成的并没有关系.只要保证函数名称符合JNI的协议.而使用C++要注意的 ...

  9. 既然 start() 方法会调用 run() 方法,为什么我们调用 start() 方法,而不直接调用 run() 方法?

    当你调用 start() 方法时,它会新建一个线程然后执行 run() 方法中的代码.如果直接调用 run() 方法,并不会创建新线程,方法中的代码会在当前调用者的线程中执行

随机推荐

  1. db2 活动日志激增的原因分析处理

    本文简单地介绍了DB2中日志的使用.活动日志以及首个活动日志的概念.日志满的原因.日志满的诊断.临时处理以及避免办法 日志使用 下图显示了并发事务条件下,日志使用的示意 有3个并发的程序Process ...

  2. Caused by: org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException: Cannot determine embedded database driver class for database type NONE. If you want an embe

    Caused by: org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationEx ...

  3. Unable to cast object of type 'System.Int32' to type 'System.Array'.

    x 入职了新公司.最近比较忙...一看博客...更新频率明显少了...罪过罪过... 新公司用ASP.NET MVC 遇上一个错误: Unable to cast object of type 'Sy ...

  4. [No0000E5]C# 运算符

    运算符是一种告诉编译器执行特定的数学或逻辑操作的符号.C# 有丰富的内置运算符,分类如下: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 其他运算符 算术运算符 运算符:A=10,B=20 ...

  5. iOS ARC编译器规则和内存管理规则

    iOS 开发当中,自动引用计数已经是标准的内存管理方案.除了一些老旧的项目或者库已经没有人使用手动来管理内存了吧. ARC无疑是把开发者从繁琐的保留/释放引用对象逻辑中解脱出来.但这并不是万事大吉了, ...

  6. Linux NFS Root and PXE-Boot

    Linux NFS Root and PXE-Boot November 6, 2006 Home· Linux Linux kernel hacking and test running on th ...

  7. ASP_NET实现界面无刷新的DropdownList两级联动效果

    所谓DropdownList联动,也就是在选一个DropdownList的时候使另外一个DropdownList的内容更新(如选省份时显示所属城市),按常规的方法那就是在第一个DropdownList ...

  8. AndrewNG Deep learning课程笔记

    神经网络基础 Deep learning就是深层神经网络 神经网络的结构如下, 这是两层神经网络,输入层一般不算在内,分别是hidden layer和output layer hidden layer ...

  9. Flink – metrics V1.2

    WebRuntimeMonitor   .GET("/jobs/:jobid/vertices/:vertexid/metrics", handler(new JobVertexM ...

  10. pyhton 爬虫爬去吾爱精品软件的信息并写入excel

    2018的最后一天了,感觉今年有得有失,这里就不再浪费时间了,愿2019万事如意 之前的爬虫信息下载后只写入txt文档,想到了以后工作加入有特殊需求,趁放假有时间将这写数据写入excel表格 以吾爱精 ...