1. 程式人生 > >Java併發程式設計:如何建立執行緒、程序?

Java併發程式設計:如何建立執行緒、程序?

在前面一篇文章中已經講述了在程序和執行緒的由來,今天就來講一下在Java中如何建立執行緒,讓執行緒去執行一個子任務。下面先講述一下Java中的應用程式和程序相關的概念知識,然後再闡述如何建立執行緒以及如何建立程序。下面是本文的目錄大綱:

  一.Java中關於應用程式和程序相關的概念

  二.Java中如何建立執行緒

  三.Java中如何建立程序

  若有不正之處,請多多諒解並歡迎批評指正。

  請尊重作者勞動成果,轉載請標明原文連結:

   http://www.cnblogs.com/dolphin0520/p/3913517.html

一.Java中關於應用程式和程序相關的概念

  在Java中,一個應用程式對應著一個JVM例項(也有地方稱為JVM程序),一般來說名字預設為java.exe或者javaw.exe(windows下可以通過工作管理員檢視)。Java採用的是單執行緒程式設計模型,即在我們自己的程式中如果沒有主動建立執行緒的話,只會建立一個執行緒,通常稱為主執行緒。但是要注意,雖然只有一個執行緒來執行任務,不代表JVM中只有一個執行緒,JVM例項在建立的時候,同時會建立很多其他的執行緒(比如垃圾收集器執行緒)。

  由於Java採用的是單執行緒程式設計模型,因此在進行UI程式設計時要注意將耗時的操作放在子執行緒中進行,以避免阻塞主執行緒(在UI程式設計時,主執行緒即UI執行緒,用來處理使用者的互動事件)。

二.Java中如何建立執行緒

  在java中如果要建立執行緒的話,一般有兩種方式:1)繼承Thread類;2)實現Runnable介面。

  1.繼承Thread類

  繼承Thread類的話,必須重寫run方法,在run方法中定義需要執行的任務。

1 2 3 4 5 6 7 8 9 10 11 12 class MyThread extends Thread{ private static int num = 0; public MyThread(){
num++; } @Override public void run() { System.out.println("主動建立的第"+num+"個執行緒"); } }

   建立好了自己的執行緒類之後,就可以建立執行緒物件了,然後通過start()方法去啟動執行緒。注意,不是呼叫run()方法啟動執行緒,run方法中只是定義需要執行的任務,如果呼叫run方法,即相當於在主執行緒中執行run方法,跟普通的方法呼叫沒有任何區別,此時並不會建立一個新的執行緒來執行定義的任務。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 public class Test { public static void main(String[] args)  { MyThread thread = new MyThread(); thread.start(); } } class MyThread extends Thread{ private