91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java線程和Objec之間的關系是什么

發布時間:2021-11-20 17:47:20 來源:億速云 閱讀:99 作者:柒染 欄目:編程語言

Java線程和Objec之間的關系是什么,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

Java線程在不斷的發展,發展的過程中我們需要不斷的學習相關代碼的知識。下面我們就詳細的看看如何進行相關技術信息的學習。在創建啟動Java線程之前,先創建一個線程之間競爭使用的Object對象,然后將這個Object對象的引用傳遞給每一個線程對象的lock成員變量。

這樣一來,每個線程的lock成員都指向同一個Object對象。我們在run方法中,對lock對象使用synchronzied塊進行局部封鎖,這樣就可以讓Java線程去競爭這個***的共享的對象鎖,從而實現同步。

代碼

package com.vista;  class MyThread implements java.lang.Runnable  {  private int threadId;  private Object lock;  public MyThread(int id, Object obj)  {  this.threadId = id;  this.lock = obj;  }  @Override  public void run()   {  synchronized(lock)  {  for (int i = 0; i < 100; ++i)  {  System.out.println("Thread ID: " + this.threadId + " : " + i);  }  }  }  }  public class ThreadDemo  {  /**  * @param args  * @throws InterruptedException   */  public static void main(String[] args) throws InterruptedException  {  Object obj = new Object();  for (int i = 0; i < 10; ++i)  {  new Thread(new MyThread(i, obj)).start();  Thread.sleep(1);  }  }  }

從第二段代碼可知,同步的關鍵是多個Java線程對象競爭同一個共享資源即可,上面的代碼中是通過外部創建共享資源,然后傳遞到Java線程中來實現。我們也可以利用類成員變量被所有類的實例所共享這一特性,因此可以將lock用靜態成員對象來實現,代碼如下所示:

代碼

package com.vista;  class MyThread implements java.lang.Runnable  {  private int threadId;  private static Object lock = new Object();  public MyThread(int id)  {  this.threadId = id;  }  @Override  public void run()   {  synchronized(lock)  {  for (int i = 0; i < 100; ++i)  {  System.out.println("Thread ID: " + this.threadId + " : " + i);  }  }  }  }  public class ThreadDemo   {  /**  * @param args  * @throws InterruptedException   */  public static void main(String[] args) throws InterruptedException  {  for (int i = 0; i < 10; ++i)  {  new Thread(new MyThread(i)).start();  Thread.sleep(1);  }  }  }

看完上述內容,你們掌握Java線程和Objec之間的關系是什么的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

健康| 邓州市| 连江县| 阳朔县| 深州市| 吴川市| 威远县| 红河县| 曲麻莱县| 四子王旗| 扎兰屯市| 磴口县| 司法| 兴文县| 蓝山县| 图们市| 霍邱县| 饶阳县| 剑河县| 徐州市| 阿瓦提县| 夏津县| 通州区| 南漳县| 黄龙县| 富锦市| 洱源县| 临漳县| 灵宝市| 海口市| 昌都县| 且末县| 彭水| 迁西县| 敖汉旗| 顺昌县| 天台县| 阳信县| 肥东县| 平遥县| 什邡市|