课程
/后端开发
/Java
/Java Socket应用---通信是这样练成的
为什么调用的是.start()方法?明明写的.run()方法,而且调用run方法也可以正常使用
2017-02-11
源自:Java Socket应用---通信是这样练成的 4-3
正在回答
这是线程的使用方面的知识。run()方法里面的叫线程体,是在这个线程需要执行的具体逻辑,而start()方法是启动线程。我们调用start()方法启动这个线程,然后系统会自动调用run()方法去执行里面的逻辑。如果我们不调用start(),而调用run(),的确可以运行run()方法里面的逻辑,但是那是在当前线程执行的,没有新的线程被建立,也就不叫多线程了。你应该补充一下线程方面的基础知识。
单行道上 提问者
从字面意思就可以理解,start就是开始,run就是运行。就好比一个机器,start就是一个开关,而run就是开关打开过后的运行效果,你可以通过打开开关来运行它,也可以直接运行它。不过我不清楚直接运行会不会有多线程的作用,你可以亲自试试。
举报
分享的是 Java 中的网络编程,使用Socket实现网络聊天通信
1 回答线程start
2 回答Thread的start 方法和Run 方法
5 回答Socket里面线程类里面调用父类的方法怎么实现的,void run()
2 回答UDP编程,使用多线程的时候为什么在run方法中获取不到值?
2 回答多线程异常