Thread 类中的 start () 和 run () 方法的区别

简介: Thread 类中的 start () 和 run () 方法的区别

start()方法是用来启动新创建的线程,start () 方法内部调用了 run()方法这和直接调用run() 方法的效果不一样

直接调用run() 方法只会在原来的线程中调用,没有新的线程启动,start() 方法才会启动新线程。

 

相关文章
|
2月前
|
存储 Java 程序员
优化Java多线程应用:是创建Thread对象直接调用start()方法?还是用个变量调用?
这篇文章探讨了Java中两种创建和启动线程的方法,并分析了它们的区别。作者建议直接调用 `Thread` 对象的 `start()` 方法,而非保持强引用,以避免内存泄漏、简化线程生命周期管理,并减少不必要的线程控制。文章详细解释了这种方法在使用 `ThreadLocal` 时的优势,并提供了代码示例。作者洛小豆,文章来源于稀土掘金。
|
3月前
|
Java
Thread 类中的start() 和 run() 方法有什么区别
【8月更文挑战第9天】Thread 类中的start() 和 run() 方法有什么区别
196 0
|
3月前
|
调度
Runnable接口的 run() 方法和start()方法
Runnable接口的 run() 方法和start()方法
46 0
|
6月前
|
Java
多线程中的run方法和start方法有什么区别?
多线程中的run方法和start方法有什么区别?
Thread 类的基本用法
比较推荐:使用 lambda 表达式创建线程的时候不用重写 run 方法。 不需要显式重写run方法的原因是因为线程的目标方法已经在Lambda表达式中定义了。Lambda表达式是一种用于创建匿名函数的语法糖,它可以将一个方法(或一段代码块)包装为一个函数对象。当您使用Lambda表达式创建线程时,Lambda表达式的内容会被视为线程执行的任务,这个任务会自动成为run方法的实现。
75 0
|
Java 调度
Thread类的方法
Thread类的方法
41 0
|
安全 Java API
为什么启动线程不直接调用run(),而要调用start(),如果调用两次start()方法会有什么后果
1位工作6年的小伙伴去某里P6一面,被问到这样一道面试题,说,为什么启动一个线程不直接调用run()方法,而要调用start()方法来启动,如果调用两次start()会有什么后果?
114 0
|
Java
Java线程中的run()和start()区别
Java线程中的run()和start()区别
84 0
|
调度
线程 --- Thread 类的基本用法 old
线程 --- Thread 类的基本用法 old
135 0
线程 --- Thread 类的基本用法 old