在启动线程时是应该调用线程的run方法还是start方法?
1.方法启动线程,真正实现了多线程。此时不需要等待run方法体代码执行完毕,直接继续执行以下代码:调用thread类的start()方法启动线程。此时,线程处于就绪状态,不会运行。然后,thread类调用run()方法来完成其操作。这里,run()方法称为线程体,它包含要执行的线程的内容。run方法结束时,线程终止,
方法调用和线程启动的区别?
区别:调用start方法实现多线程,调用run方法实现多线程。启动:用start方法启动线程,实现多线程。此时,不需要等待run方法体代码完成执行,而是直接继续执行下面的代码。通过调用thread类的start()方法来启动线程。此时,线程处于就绪(可运行)状态,不会运行。一旦获得spu时间片,就会执行run()方法。这里,run()方法称为线程体,它包含要执行的线程的内容。run方法完成后,线程将立即终止。运行:运行()方法只是类的一个常用方法。如果直接调用run方法,则程序中仍然只有一个主线程,其程序执行路径仍然只有一个,或者需要按顺序执行,或者需要等待run方法体执行完毕后才能继续执行下面的代码。这样,就达不到写线程的目的。结论:可以通过调用start方法来启动线程,而run方法只是线程的一个常用方法调用,在主线程中执行。
原文标题:线程的start和run的区别 在启动线程时是应该调用线程的run方法还是start方法?,如若转载,请注明出处:https://www.saibowen.com/news/17235.html
免责声明:此资讯系转载自合作媒体或互联网其它网站,「赛伯温」登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,文章内容仅供参考。