为什么启动线程不能直接使用run()方法
答案:2 悬赏:40
解决时间 2021-04-27 06:57
- 提问者网友:对着我说爱我
- 2021-04-27 03:41
为什么启动线程不能直接使用run()方法
最佳答案
- 二级知识专家网友:社会水太深
- 2021-04-27 04:59
线程的运行不是像其他方法那么简单的额调用一下就运行的。想要运行一个线程,肯定是要和操作系统打交道,告诉操作系统我要添加一个线程,run方法只是个简单的方法,里面就是你要运行的代码。start方法里面会调用一个native方法,这个方法才是真正和操作系统交流的
全部回答
- 1楼网友:ー何必说爱
- 2021-04-27 05:58
我认为题主的理解有点偏差。java的thread类,通过start()方法启动/运行一个线程。那么一个线程就好像一个独立的小程序,它也有一个“main”函数,那就是run方法。
如果我们直接去调用thread类的run方法,就和调用一个普通的函数(比如list类的add方法。。。)没有区别,并不会有新的线程被创建和运行。而调用start()方法时,才会创建一个新线程来运行run方法。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯