Thread.java的start()方法为什么是同步的?

问题描述 投票:0回答:1

据我了解,当我们创建

Thread
时,我们使用 new 关键字。每当我们想要启动一个
start()
时,都会在新的
Thread
对象上调用
Thread

这让我问一个问题,为什么Java中Thread类的

start()
synchronized

java multithreading thread-safety
1个回答
0
投票

Java中Thread类的start()为什么是synchronized。

您不能多次启动一个线程。但如果两个线程同时尝试启动一个线程,情况会更糟。

为什么?

因为这会破坏阻止应用程序启动线程两次的逻辑!

所以...他们将

start
声明为
synchronized
并且避免了尴尬的竞争条件。

© www.soinside.com 2019 - 2024. All rights reserved.