[VC]線程_PHP教程

來源:互聯網
上載者:User
是進程中的一個實體,是被系統獨立調度和指派的基本單位,線程自己不擁有系統資源,只擁有一點在運行中必不可少的資源,但它可與同屬一個進程的其它線程共 享進程所擁有的全部資源。一個線程可以建立和撤消另一個線程,同一進程中的多個線程之間可以並發執行。由於線程之間的相互制約,致使線程在運行中呈現出間 斷性。線程也有就緒、阻塞和運行三種基本狀態。
  線程是程式中一個單一的順序控制流程程.在單個程式中同時運行多個線程完成不同的工作,稱為多線程.
  線程和進程的區別在於,子進程和父進程有不同的代碼和資料空間,而多個線程則共用資料空間,每個線程有自己的執行堆棧和程式計數器為其執行內容.多線程主要是為了節約CPU時間,發揮利用,根據具體情況而定. 線程的運行中需要使用電腦的記憶體資源和CPU
  線程的周期
  建立 就緒 運行 阻塞 死亡
  線程調度與優先順序
  有線程進入了就緒狀態,需要有線程發送器來決定何時執行,根據優先順序來調度.
  線程組
  每個線程都是一個線程組的一個成員,線程組把多個線程整合一個對象,通過線程組可以同時對其中的多個線程進行操作.在產生線程時必須將線程放在指定的線程組,也可以放在預設的線程組中,預設的就是產生該線程的線程所在的線程組.一旦一個線程加入了某個線程組,不能被移出這個組.
  守護線程
  是特殊的線程,一般用於在後台為其他線程提供服務.
  isDaemon():判斷一個線程是否為守護線程.
  set Daemon():設定一個線程為守護線程.
  Thread類和Runnable介面
  Thread類
  類Thread在包java.lang中定義,它的構造方法如下:
  public Thread();
  public Thread(Runnable target);
  public Thread(Runnable target,String name);
  public Thread(String name);
  public Thread(ThreadGroup group,Runnable target);
  public Thread(ThreadGroup group, String name);
  主要方法
  isActive() 判斷是否處於執行狀態
  Suspend() 暫停執行
  reSume 恢複執行
  start() 開始執行
  Stop() 停止執行
  sleep() 睡眠
  run() 程式體
  yield() 向其他線程退讓運行權
  線程優先順序
  Public statuc final int MAX_PRIORITY最高優先順序,10
  Public statuc final int MIN_PRIORITY最低優先順序,1
  Public statuc final int NORM_PRIORITY普通優先順序,5
  Runnable介面
  Runnable介面中只定義了一個方法run()作為線程體,
  void run()
  Java的線程是通過java.lang.Thread類來實現的。
  VM啟動時會有一個由主方法(public static void main(){})所定義的線程。
  可以通過建立Thread的執行個體來建立新的線程。
  每個線程都是通過某個特定的Thread對象所對應的方法run()來完成其操作的,方法run()稱為線程體。
  通過調用Thread類的start()方法來啟動一個線程
  Java裡面實現多線程,有2個方法
  1 繼承 Thread類,比如
  class MyThread extends Thread {
  public void run() {
  // 這裡寫上線程的內容
  }
  public static void main(String[] args) {
  // 使用這個方法啟動一個線程
  new MyThread().start();
  }
  }
  2 實現 Runnable介面
  class MyThread implements Runnable{
  public void run() {
  // 這裡寫上線程的內容
  }
  public static void main(String[] args) {
  // 使用這個方法啟動一個線程
  new Thread(new MyThread()).start();
  }
  }
  一般鼓勵使用第二種方法,應為Java裡面只允許單一繼承,但允許實現多個介面。第二個方法更加靈活。

http://www.bkjia.com/PHPjc/771954.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/771954.htmlTechArticle是進程中的一個實體,是被系統獨立調度和指派的基本單位,線程自己不擁有系統資源,只擁有一點在運行中必不可少的資源,但它可與同...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.