<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            java語言

            如何使用java多線程

            時間:2025-05-04 09:56:25 java語言 我要投稿

            如何使用java多線程

              Java多線程是我們很多時候都會用到的,在不斷學習的過程中有很多的應用方法大家知道怎么使用Java多線程嗎?以下是小編為大家搜索整理的如何使用java多線程,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!

              Java多線程程序中經常用到的方法有以下幾個:run(),start(),wait(),sleep(),notify(),notifyAll(),yield(),join(),還有一個重要的關鍵字 synchronized。下面分別對這些方法進行解釋:

              一、run()和start()

              這兩個方法應該都比較熟悉,把需要并行處理的代碼放在run()方法中,start()方法啟動線程將自動調用 run()方法,這是由Java的內存機制規定的。并且run()方法必須是public訪問權限,返回值類型為void。

              二、關鍵字Synchronized

              這個關鍵字用于保護共享數據,當然前提是要分清哪些數據是共享數據。每個對象都有一個鎖標志,當一個線程訪問該對象時,被Synchronized修飾的數據將被“上鎖”,阻止其他線程訪問。當前線程訪問完這部分數據后釋放鎖標志,其他線程就可以訪問了。

              1.public ThreadTest implements Runnable

              2.{

              3.public synchronized void run(){

              4.for(int i=0;i<10;i++)

              5.{

              6.System.out.println(" " + i);

              7.}

              8.}

              9.public static void main(String[] args)

              10.{

              11.Runnable r1 = new ThreadTest();

              12.Runnable r2 = new ThreadTest();

              13.Thread t1 = new Thread(r1);

              14.Thread t2 = new Thread(r2);

              15.t1.start();

              16.t2.start();

              17.}

              18.}

              以上這段程序中的 i 變量并不是共享數據,也就是這里的Synchronized關鍵字并未起作用。因為t1,t2兩個線程是兩個對象(r1,r2)的線程。不同的對象其數據是不同的,所以r1和r2兩個對象的i變量是并不是共享數據。

              當把代碼改成如下:Synchronized關鍵字才會起作用

              19.Runnable r = new ThreadTest();

              20.Thread t1 = new Thread(r);

              21.Thread t2 = new Thread(r);

              22.t1.start();

              23.t2.start();

            【如何使用java多線程】相關文章:

            淺談如何使用java多線程10-17

            Java使用多線程的優勢07-10

            Java多線程基本使用11-08

            Java多線程的基本使用08-03

            如何使用java10-14

            java的多線程09-09

            java多線程08-31

            java語言的多線程08-29

            java多線程介紹08-23

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院