国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

jvm - Java new 對象是否是原子性的?

瀏覽:58日期:2023-10-26 16:18:59

問題描述

public static void main(Sting args[]){ Object a=null; new Thread(){ a=new xxx() }.start(); new Thread(){ a=new xxx() }.start();}

想問,xxx()方法里有復雜的對象初始化邏輯,new關鍵字創建對象,是原子性的嗎?如果不是,會不會就出現了對象初始化錯亂的問題?

問題解答

回答1:

沒明白你的意思,如果我猜得不錯的話:

這完全取決于你的構造方法里面的具體的邏輯,畢竟代碼是人寫的。

public class Test { static class A{public A(){ try {SimpleDateFormat sdf = new SimpleDateFormat('yyyy-MM-dd:hh:mm:ss:SS');System.out.println(sdf.format(new Date()) + '--begin --從線程' + Thread.currentThread().getName() + '中創建A');Thread.sleep(2000);System.out.println(sdf.format(new Date()) + '--end--從線程' + Thread.currentThread().getName() + '中創建A'); } catch (InterruptedException e) {e.printStackTrace(); }} }public static void main(String[] args) {new Thread(new Runnable(){ @Override public void run() {System.out.println('A is ' +new A()); } }).start();new Thread(new Runnable(){ @Override public void run() {System.out.println('A is ' +new A()); } }).start(); }}

輸出:

2017-06-16:11:46:43:780--begin --從線程Thread-1中創建A2017-06-16:11:46:43:780--begin --從線程Thread-0中創建A2017-06-16:11:46:45:786--end--從線程Thread-0中創建A2017-06-16:11:46:45:786--end--從線程Thread-1中創建AA is nwe.Test$A@1e6a629cA is nwe.Test$A@27fcb25d

另一個例子,構造器中包含同步塊,每一個線程都需要等待前面的線程執行完成后才能執行。

import java.text.*;import java.util.Date;public class Test { static class A{public A(){ try {synchronized (Test.class) { SimpleDateFormat sdf = new SimpleDateFormat('yyyy-MM-dd:hh:mm:ss:SS'); System.out.println(sdf.format(new Date()) + '--begin --從線程' + Thread.currentThread().getName() + '中創建A'); Thread.sleep(2000); System.out.println(sdf.format(new Date()) + '--end--從線程' + Thread.currentThread().getName() + '中創建A');} } catch (InterruptedException e) {e.printStackTrace(); }} }public static void main(String[] args) {new Thread(new Runnable(){ @Override public void run() {System.out.println('A is ' +new A()); } }).start();new Thread(new Runnable(){ @Override public void run() {System.out.println('A is ' +new A()); } }).start(); }}

輸出:

2017-06-16:11:49:33:548--begin --從線程Thread-0中創建A2017-06-16:11:49:35:549--end--從線程Thread-0中創建AA is nwe.Test$A@717c3e102017-06-16:11:49:35:550--begin --從線程Thread-1中創建A2017-06-16:11:49:37:553--end--從線程Thread-1中創建AA is nwe.Test$A@27280786回答2:

建議參考線程安全的單例模式

回答3:

不具有,比如構造方法中寫了多條邏輯,在執行構造方法時,是可以中斷的。

回答4:

“原子性”這種描述太抽象,樓主提問的時候最好不要認為所有人對某個詞的認識都完全一樣。我只能說構造方法是線程安全的,對于每一個對象,構造方法只會被執行一次,只會被一個線程執行。

標簽: java
相關文章:
主站蜘蛛池模板: 成年人免费观看网站 | 无限观看社区在线视频 | 99久久精品免费看国产一区二区三区 | 国产精品一区二区av | 国产精品黄在线观看免费软件 | 欧美一二三区视频 | 国产午夜毛片一区二区三区 | 欧美久色| 国产自在自线午夜精品 | 久久女同互慰一区二区三区 | 欧美中文字幕在线看 | 草草视频在线播放 | 亚洲视频精选 | 日韩高清一级 | 免费的三级毛片 | 青草久草| 精品少妇一区二区三区视频 | 97国产免费全部免费观看 | 欧美与黑人午夜性猛交久久久 | 国产一区二区精品久 | 久久久久久久久久久久久久久久久 | 国产在线视频一区 | 欧美性生交大片免费看 | 欧美成人性色区 | 欧洲老妇bbbbbxxxxx| 精品一区二区三区视频在线观看 | 国产亚洲欧美日韩国产片 | 三级网址在线 | 国产精品久久大陆 | 免费观看视频成人国产 | 欧美日韩在线观看精品 | 一级做a爰片久久毛片潮喷 一级做a爰片久久毛片美女 | 99爱在线观看精品视频 | 久草在线观看福利 | 19+韩国主播青草vip视频 | 亚洲一区浅井舞香在线播放 | 国产精品blacked在线 | 日本 国产 欧美 | 欧美孕妇性xxxⅹ精品hd | 全免费a级毛片免费毛视频 全午夜免费一级毛片 | 免费看欧美一级片 |