为了账号安全,请及时绑定邮箱和手机立即绑定

socket的多线程中 start和run

为什么调用的是.start()方法?明明写的.run()方法,而且调用run方法也可以正常使用

正在回答

2 回答

这是线程的使用方面的知识。run()方法里面的叫线程体,是在这个线程需要执行的具体逻辑,而start()方法是启动线程。我们调用start()方法启动这个线程,然后系统会自动调用run()方法去执行里面的逻辑。如果我们不调用start(),而调用run(),的确可以运行run()方法里面的逻辑,但是那是在当前线程执行的,没有新的线程被建立,也就不叫多线程了。你应该补充一下线程方面的基础知识。

2 回复 有任何疑惑可以回复我~
#1

单行道上 提问者

非常感谢!
2017-04-06 回复 有任何疑惑可以回复我~

从字面意思就可以理解,start就是开始,run就是运行。就好比一个机器,start就是一个开关,而run就是开关打开过后的运行效果,你可以通过打开开关来运行它,也可以直接运行它。不过我不清楚直接运行会不会有多线程的作用,你可以亲自试试。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

socket的多线程中 start和run

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信