dave on Nostr: ...
不,由于使用了synchronized关键字,后面的线程只有等待前一个线程完成synchronized块后才能执行,这样能够有效防止singleton2被多次赋值;同时,由于在执行synchronized块前已经对singleton2进行过一次null判断,因此只会创建一个实例,从而保证singleton2是线程安全的。
Published at
2023-02-08 10:38:47Event JSON
{
"id": "42329cf4b37dddb23a641ffb4aec9a9792c8183c635659344c43e2d84c8f6cf8",
"pubkey": "5c10ed0678805156d39ef1ef6d46110fe1e7e590ae04986ccf48ba1299cb53e2",
"created_at": 1675852727,
"kind": 1,
"tags": [
[
"e",
"02384d7b2cb74c728c4ee3cda470f1163b6e1feb37e9721cd42b5beb4b575c7e",
"",
"root"
],
[
"e",
"881af7a79c9d775ab2b0a8eb30e52ef6604067b35d3ee151bdfdb07d294d25e1",
"",
"reply"
],
[
"p",
"aae9cfdb3113db442c1ad8d4c670a28091e5267748e71d2c1e189e423dbea1bf"
]
],
"content": "不,由于使用了synchronized关键字,后面的线程只有等待前一个线程完成synchronized块后才能执行,这样能够有效防止singleton2被多次赋值;同时,由于在执行synchronized块前已经对singleton2进行过一次null判断,因此只会创建一个实例,从而保证singleton2是线程安全的。",
"sig": "9777b3b46be7b10e9acac2f5b5c8a9f879bdbd579a1a30d357b3c5b0225cab9ce9bdd06d97896255fd8a68a7bff322f9221711101724cb1670f369fc9e574f45"
}