Thread的start()和join()方法
来源:互联网 发布:note5网络锁 编辑:程序博客网 时间:2024/06/01 08:26
start:用start方法来启动线程,真正实现了多线程运行,这时无需等待run方法体代码执行完毕而直接继续执行下面的代码。通过调用Thread类的start()方法来启动一个线程,这时此线程处于就绪(可运行)状态,并没有运行,一旦得到cpu时间片,就开始执行run()方法,这里方法 run()称为线程体,它包含了要执行的这个线程的内容,Run方法运行结束,此线程随即终止。
run:run()方法只是类的一个普通方法而已,如果直接调用Run方法,程序中依然只有主线程这一个线程,其程序执行路径还是只有一条,还是要顺序执行,还是要等待run方法体执行完毕后才可继续执行下面的代码,这样就没有达到写线程的目的。总结:调用start方法方可启动线程,而run方法只是thread的一个普通方法调用,还是在主线程里执行。这两个方法应该都比较熟悉,把需要并行处理的代码放在run()方法中,start()方法启动线程将自动调用 run()方法,这是由jvm的内存机制规定的。并且run()方法必须是public访问权限,返回值类型为void。
run:run()方法只是类的一个普通方法而已,如果直接调用Run方法,程序中依然只有主线程这一个线程,其程序执行路径还是只有一条,还是要顺序执行,还是要等待run方法体执行完毕后才可继续执行下面的代码,这样就没有达到写线程的目的。总结:调用start方法方可启动线程,而run方法只是thread的一个普通方法调用,还是在主线程里执行。这两个方法应该都比较熟悉,把需要并行处理的代码放在run()方法中,start()方法启动线程将自动调用 run()方法,这是由jvm的内存机制规定的。并且run()方法必须是public访问权限,返回值类型为void。
一、使用方式。
join是Thread类的一个方法,启动线程后直接调用,例如:
Thread t = new AThread(); t.start(); t.join();
二、为什么要用join()方法
在很多情况下,主线程生成并起动了子线程,如果子线程里要进行大量的耗时的运算,主线程往往将于子线程之前结束,但是如果主线程处理完其他的事务后,需要用到子线程的处理结果,也就是主线程需要等待子线程执行完成之后再结束,这个时候就要用到join()方法了。
阅读全文
1 0
- Thread的start()和join()方法
- Java的Thread的start(),run()和join()方法
- Thread的run方法和start方法
- Thread的run方法和start方法
- Thread的run方法和start方法
- Thread类的start()和run()方法
- Thread的run和start方法区别
- Thread run()和start()方法的区别
- Thread的Abort和Join方法总结
- Thread的start方法。
- Thread的join()方法
- Thread的join()方法
- Thread的join方法
- android-Thread的run方法和start方法
- Thread.java start方法和run方法的区别
- java Thread中,run方法和start方法的区别
- Java中Thread类的start()方法和run()方法
- Thread.Join()方法的理解
- CentOS安装mysql环境
- 使用GraphViz画caffe的网络结构图
- Oracle/MySQL/SQL Server查询前N条数据
- 防止页面以外的提交
- 《N-blog》学习笔记......
- Thread的start()和join()方法
- 《自控力》-- 精华摘抄
- 关于AndroidStudio如何导入新项目LibraryProject以及遇到的一些问题
- js中时间的比较
- Ubuntu常用命令
- 第一次使用Android Studio时你应该知道的一切配置
- C语言状态机学习
- Ajax处理下载文件response没有反应
- Android 动画详解之视图动画