成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Java線程和Objec之間的不解之緣

開發 后端
Java線程在應用的過程中和很多的技術都有牽扯。在不斷的發展中我們看到,不斷和融合才能在當下的形式中站穩。

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

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

代碼

  1. package com.vista;  
  2. class MyThread implements java.lang.Runnable  
  3. {  
  4. private int threadId;  
  5. private Object lock;  
  6. public MyThread(int id, Object obj)  
  7. {  
  8. this.threadId = id;  
  9. this.lock = obj;  
  10. }  
  11. @Override  
  12. public void run()   
  13. {  
  14. synchronized(lock)  
  15. {  
  16. for (int i = 0; i < 100; ++i)  
  17. {  
  18. System.out.println("Thread ID: " + this.threadId + " : " + i);  
  19. }  
  20. }  
  21. }  
  22. }  
  23. public class ThreadDemo  
  24. {  
  25. /**  
  26. * @param args  
  27. * @throws InterruptedException   
  28. */  
  29. public static void main(String[] args) throws InterruptedException  
  30. {  
  31. Object obj = new Object();  
  32. for (int i = 0; i < 10; ++i)  
  33. {  
  34. new Thread(new MyThread(i, obj)).start();  
  35. Thread.sleep(1);  
  36. }  
  37. }  

 

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

 

代碼

  1. package com.vista;  
  2. class MyThread implements java.lang.Runnable  
  3. {  
  4. private int threadId;  
  5. private static Object lock = new Object();  
  6. public MyThread(int id)  
  7. {  
  8. this.threadId = id;  
  9. }  
  10. @Override  
  11. public void run()   
  12. {  
  13. synchronized(lock)  
  14. {  
  15. for (int i = 0; i < 100; ++i)  
  16. {  
  17. System.out.println("Thread ID: " + this.threadId + " : " + i);  
  18. }  
  19. }  
  20. }  
  21. }  
  22. public class ThreadDemo   
  23. {  
  24. /**  
  25. * @param args  
  26. * @throws InterruptedException   
  27. */  
  28. public static void main(String[] args) throws InterruptedException  
  29. {  
  30. for (int i = 0; i < 10; ++i)  
  31. {  
  32. new Thread(new MyThread(i)).start();  
  33. Thread.sleep(1);  
  34. }  
  35. }  

 

以上的代碼就是對Java線程的詳細介紹。希望大家有所收獲。

【編輯推薦】

  1. Java線程池如何體現自己的用途
  2. Python編程語言在Java中的使用效果
  3. OSGi要火 IBM和Eclipse將大力發展Java模塊化
  4. 在敏捷開發中編寫高質量Java代碼
  5. 了解Java日志系統框架的設計與實現
責任編輯:張浩 來源: 互聯網
相關推薦

2021-06-04 06:32:50

coverallsPython

2010-03-18 19:06:35

Java socket

2023-11-07 12:30:38

數據結構紅黑樹

2016-05-27 11:43:06

2013-03-26 10:27:32

社交游戲公司云存儲

2009-02-19 09:48:34

XP微軟降級

2014-10-30 17:43:59

Android 5.0Android Wea

2021-08-02 10:40:45

機器人人工智能算法

2018-06-19 09:54:22

MySQLHBase存儲

2016-09-30 10:30:12

2012-05-24 21:36:44

蘋果

2018-11-13 14:41:35

溯源區塊鏈商場

2010-03-10 17:43:41

Python編程語言

2015-07-03 13:38:42

廖廠長

2017-09-20 14:07:44

2014-10-30 14:47:37

2016-12-12 14:05:29

戴爾

2009-03-12 10:52:43

Java線程多線程

2010-03-16 17:16:38

Java多線程

2016-07-18 10:36:22

華為
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 九九九久久国产免费 | 日韩久久久久久 | 观看av| 亚洲成人毛片 | 91视频在线观看 | 毛片网站在线观看 | 亚洲精品一区中文字幕乱码 | 一区二区三区免费在线观看 | 成人福利在线 | 国产精品亚洲精品久久 | 我要看免费一级毛片 | 国产精品久久久久久吹潮日韩动画 | 精品一区二区在线观看 | 国产农村妇女精品一区 | 激情av网站 | 国产成人精品一区二区三区在线 | 久久久久国产精品一区 | 久久久精品一区二区 | 中文一区 | 久久久www成人免费无遮挡大片 | 国产一区二区三区免费视频 | 一区二区三区久久久 | 伊色综合久久之综合久久 | 亚洲成人综合社区 | 天天澡天天狠天天天做 | 日韩免费| 国产亚洲黄色片 | 国产精品久久久久久久久免费桃花 | 青青草原精品99久久精品66 | 欧美mv日韩mv国产网站91进入 | 欧美日韩在线观看一区二区三区 | 91久久久久 | 亚洲国产成人精 | 日本色综合| 日日综合| 日韩欧美在线一区 | 日韩成人在线看 | 日韩在线精品视频 | 欧美精品a∨在线观看不卡 国产精品久久国产精品 | 国产午夜亚洲精品不卡 | 国产午夜精品视频 |