java學習筆記(十二)多線程編程

來源:互聯網
上載者:User

標籤:

並發編程:可以讓多個任務同時啟動並執行編程方式。

進程:一個正在啟動並執行程式,有自己獨立的一塊記憶體空間,每一個進程的內部資料和狀態都是完全獨立的。可同時運行兩個或更多的程式。

線程:每一個任務稱為一個線程,在一個程式內運行多線程的程式稱為多線程程式。 線程是進程內部單一的一個順序控制流程,是最小處理單位。

建立線程:

1.繼承Thread類,重寫run()方法,在run()方法中編寫要執行的代碼。 先建立Thread對象,打點調用start()啟動線程。

2.實現Runable介面,只有run()方法。 main()方法是主線程。

優先順序:最高10,最低1,預設5。

線程同步:啟始物件鎖(Synchronized) 使用同步代碼塊; 使用同步方法。

死結:兩個線程會處於饑餓狀態,等待對方釋放出對象鎖,而導致彼此都無法往下執行。

例:

public class MultiThreadDemo{

      public static void main(String [] args){

             Thread t1 = new Thread(new MyTask(), "線程A");

             t1.start();

             Thread t2 = new Thread(new MyTask(), "線程B");

             t2.start();

             System.out.println();

      }

}

class MyTask implements Runnable {

        public void run() {

               for(int i = 0; i < 5 ; i++){

                        System.out.println(Thread.currentThread().gtName() + "的i值為:"+i);

                }

        }

}

java學習筆記(十二)多線程編程

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.