成人免费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

機器人人工智能算法

2012-05-24 21:36:44

蘋果

2018-06-19 09:54:22

MySQLHBase存儲

2016-09-30 10:30:12

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技術棧公眾號

主站蜘蛛池模板: 欧美日韩国产一区 | 欧美黄色绿像 | 欧美激情啪啪 | 日产久久 | 国产精品久久久久久久久久妞妞 | 成年视频在线观看 | 紧缚调教一区二区三区视频 | 欧美激情精品久久久久久 | 99国产精品99久久久久久粉嫩 | 欧美成人黄色小说 | 国产激情91久久精品导航 | 在线亚洲免费视频 | 中文字幕在线人 | 亚洲国产精品久久 | 精品国产视频 | 久久一二 | 午夜精品在线 | 丁香婷婷久久久综合精品国产 | 欧美日韩国产不卡 | 爱操影视 | 精品三级在线观看 | 狠狠操狠狠干 | 一级大黄 | 亚洲国产精品久久久久久 | 欧美国产日韩在线观看 | 日日干日日色 | 国产成人在线一区 | 国产精品免费大片 | 亚洲精品一二三 | 日韩一区二区av | 91久久久久久 | 国产精品美女www爽爽爽视频 | 国产aa | 国产一级片免费在线观看 | 国产成人精品999在线观看 | 免费观看一级特黄欧美大片 | 成人久久网 | 午夜影院操 | 五月天激情电影 | 日韩精品成人av | 欧美一区视频在线 |