日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
Java線程和Objec之間的不解之緣

Java線程在不斷的發(fā)展,發(fā)展的過(guò)程中我們需要不斷的學(xué)習(xí)相關(guān)代碼的知識(shí)。下面我們就詳細(xì)的看看如何進(jìn)行相關(guān)技術(shù)信息的學(xué)習(xí)。在創(chuàng)建啟動(dòng)Java線程之前,先創(chuàng)建一個(gè)線程之間競(jìng)爭(zhēng)使用的Object對(duì)象,然后將這個(gè)Object對(duì)象的引用傳遞給每一個(gè)線程對(duì)象的lock成員變量。

十余年的平南網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。網(wǎng)絡(luò)營(yíng)銷(xiāo)推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整平南建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)公司從事“平南網(wǎng)站設(shè)計(jì)”,“平南網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。

這樣一來(lái),每個(gè)線程的lock成員都指向同一個(gè)Object對(duì)象。我們?cè)趓un方法中,對(duì)lock對(duì)象使用synchronzied塊進(jìn)行局部封鎖,這樣就可以讓Java線程去競(jìng)爭(zhēng)這個(gè)***的共享的對(duì)象鎖,從而實(shí)現(xiàn)同步。

代碼

 
 
 
  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. }  

從第二段代碼可知,同步的關(guān)鍵是多個(gè)Java線程對(duì)象競(jìng)爭(zhēng)同一個(gè)共享資源即可,上面的代碼中是通過(guò)外部創(chuàng)建共享資源,然后傳遞到Java線程中來(lái)實(shí)現(xiàn)。我們也可以利用類(lèi)成員變量被所有類(lèi)的實(shí)例所共享這一特性,因此可以將lock用靜態(tài)成員對(duì)象來(lái)實(shí)現(xiàn),代碼如下所示:

代碼

 
 
 
  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. }  

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


當(dāng)前題目:Java線程和Objec之間的不解之緣
網(wǎng)站鏈接:http://www.dlmjj.cn/article/dhpjhhg.html