自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Java多線程如何創(chuàng)建多個線程

開發(fā) 后端
Java多線程在不斷的學習中需要我們注意很多知識。下面我們就來看看Java多線程代碼中創(chuàng)建了10個線程,而每個線程都持有this對象的對象鎖,這不能實現(xiàn)線程的同步。

Java多線程的同步依靠的是對象鎖機制,這個問題需要我們不斷的學習相關(guān)的問題。下面我們就來詳細的學習下如何才能更好的進行具體內(nèi)容的使用。synchronized關(guān)鍵字的背后就是利用了封鎖來實現(xiàn)對共享資源的互斥訪問。

下面以一個簡單的實例來進行對比分析。實例要完成的工作非常簡單,就是創(chuàng)建10個線程,每個線程都打印從0到99這100個數(shù)字,我們希望線程之間不會出現(xiàn)交叉亂序打印,而是順序地打印。

先來看***段代碼,這里我們在run()方法中加入了synchronized關(guān)鍵字,希望能對run方法進行互斥訪問,但結(jié)果并不如我們希望那樣,這是因為這里synchronized鎖住的是this對象,即當前運行線程對象本身。Java多線程代碼中創(chuàng)建了10個線程,而每個線程都持有this對象的對象鎖,這不能實現(xiàn)線程的同步。

Java多線程代碼如下

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

以上就是對Java多線程的詳細代碼介紹。

【編輯推薦】

  1. Python編程語言與Java的技術(shù)比較
  2. OSGi要火 IBM和Eclipse將大力發(fā)展Java模塊化
  3. Python編程語言與Java的性能比較
  4. 實例:使用Java構(gòu)建股指期貨交易系統(tǒng)
  5. Java線程池如何體現(xiàn)自己的用途
責任編輯:張浩 來源: TT網(wǎng)絡(luò)
相關(guān)推薦

2010-02-01 17:18:23

Python多線程環(huán)境

2009-06-29 18:00:05

Java多線程Runnable接口創(chuàng)建線程

2009-06-29 17:54:10

Java多線程Thread類創(chuàng)建線程

2023-06-06 08:17:52

多線程編程Thread類

2009-03-12 10:52:43

Java線程多線程

2021-12-26 18:22:30

Java線程多線程

2009-06-29 17:49:47

Java多線程

2021-02-25 15:58:46

C++線程編程開發(fā)技術(shù)

2023-05-12 14:14:00

Java線程中斷

2023-10-26 21:44:02

Java多線程方法

2010-03-10 08:54:49

Python多線程

2011-06-13 10:41:17

JAVA

2010-03-15 19:47:30

Java多線程程序

2020-09-08 10:56:55

Java多線程存儲器

2016-11-10 16:30:22

Java多線程

2012-09-21 13:30:51

Java多線程Java發(fā)展

2010-03-18 09:22:31

Java多線程遞歸

2010-03-15 18:34:08

Java多線程

2010-01-21 11:27:30

linux多線程機制線程同步

2021-09-11 15:26:23

Java多線程線程池
點贊
收藏

51CTO技術(shù)棧公眾號