當前位置:編程學習大全網 - 源碼下載 - java 創建多線程

java 創建多線程

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

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

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

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

32.}

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

  • 上一篇:Hive處理Json數據
  • 下一篇:asp.net 壓縮解壓縮zip文件
  • copyright 2024編程學習大全網