线程的start()与run()
线程的start()与run()
苏泽Thread是Runnable的实现类
要使用start()方法必须创建或者继承Thread类。
run方法和start()方法的区别:
如果一个子类重写了方法如下:
1 | public static void main(String[] args) { |
想想会是什么结果?
run()调用主线程,start()则会启动新线程,执行run()的方法
线程的join()有什么用?
会阻塞当前调用此方法的线程,要求完成后,才会继续执行下面的代码。
1 | Thread thread = new Thread(new File()); |
thread和thread1线程执行完后,才会继续往下走
满足一些线程需要同步数据后,才会继续往下走。
总结
如果不使用start()方法,就不需要使用thread线程,因为使用到的是多线程,这不符合多线程的应用。
join()方法用来阻塞当前线程的执行。
主线程是main
往下就是 Thread-0 -1 - 2 -3 -4…………
使用多线程编程中,start()和jion()是非常重要的,各有个的作用,合理使用它们可以实现复杂的并发控制和任务同步。
评论
匿名评论隐私政策





