执行绪Threads

执行绪Threads

ID:43230195

大小:1.72 MB

页数:71页

时间:2019-10-05

执行绪Threads_第1页
执行绪Threads_第2页
执行绪Threads_第3页
执行绪Threads_第4页
执行绪Threads_第5页
资源描述:

《执行绪Threads》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、執行緒Threads讓你的程式具有多工(Multitasking)及多重處理(Multiprocessing)的能力什麼是執行緒支援多重處理的執行控制機制,它可以執行程式中任何一組相關且可與程式中其它部分多重並行處理的程式片斷。播放背景音樂執行緒a:數數運算執行緒c:動畫顯示執行緒b:程式(多執行緒)2執行緒具有以下幾個基本特徵:不是完整的程式。隸屬於同一個程式的執行緒必需共享系統分配給所屬主程式的資源(如記憶體空間、CPU時間等)。每一個執行緒都有自己的執行堆疊及程式計數器程式可以設定執行緒的執行優先順序及所隸屬的執行緒群組。每個執行緒於程式執行

2、時的可能狀態有:born、ready、running、blocked、suspend、sleeping、waiting及dead。3如何建立執行緒在Java程式中,執行緒是以執行緒物件來表示,亦即在程式中一個執行緒物件就代表了一個可以執行程式片斷的執行緒4建立執行緒物件以便指定程式中部分的程式碼給執行緒執行的方式有二種:在程式中建立Thread類別的子類別,然後直接在子類別中改寫繼承自Thread類別的run()方法在程式中定義界面Runnable,然後改寫Runnable的run()方法Note:run()方法為執行緒的執行進入點(EntryPo

3、int)511-1 Java的多執行緒11-1.1何謂執行緒11-1.2利用Thread類別建立多執行緒11-1.3利用Runnable介面建立多執行緒6前言:執行緒是指單一連續的程式行程,傳統的程式語言大多只有一個執行緒,但是在Java中允許應用程式同時執行兩個或兩個以上的執行緒,稱為多執行緒。711-1.1何謂執行緒在介紹執行緒之前,必須先了解什麼是行程(Process)。所謂行程是指作業系統執行每個應用程式的流程,作業系統會分配足夠的記憶體空間與CPU時間給每個行程。而因為每個應用程式不一定會佔用CPU的所有時間,為了充分使用CPU時間,避免

4、有CPU閒置的情況,所以衍生出多執行緒的概念。8單一執行緒:所謂單一執行緒(Thread)是指應用程式在一個行程中只能處理一項工作,也就是說同一個時間點只能執行一道指令,必須等前一項工作執行後,才能依序執行下一個工作,如下圖所示:9多執行緒與多工:所謂多執行緒是指應用程式在一個行程中可以同時處理多項工作,而每一個行程都是各自獨立的,不會互相干擾。利用多執行緒可以讓應用程式的行程共享CPU記憶體空間與時間,善加利用CPU的閒置時間,有效率的執行程式,而多執行緒其實就是模擬多工功能而發展出來的概念。10多工與多執行緒相異處:多工是在Windows作業系

5、統中常見的特性,舉例來說,作業系統可以同時執行瀏覽器、Word、小畫家等多個應用程式。多工與多執行緒不同之處在於,多工是指同一個時間執行多個應用程式;而多執行緒是指同一個時間執行同一個應用程式中的多個行程,例如:Word文件可以同時做編輯、翻譯與列印等行程,在傳統的單一執行緒環境裡,必須等待前一個行程執行完畢才可以繼續執行下一個行程,但是在多執行緒環境中,卻可以同時執行這些程式。11多執行緒的運作方式如下圖所示:1211-1.2利用Thread類別建立多執行緒在Java中必須利用Thread類別的物件來建立執行緒,可以採用下面兩種方式建立多執行緒:

6、繼承Thread類別:直接產生執行緒。實作Runnable介面:間接產生執行緒。13利用Thread類別建立多執行緒:若要利用Thread類別建立多執行緒,必須先建立一個繼承Thread的衍生類別,然後在類別中覆載Thread類別的run成員函式,其語法如下:14Thread類別的建構式與成員函式-1:建立多執行緒類別前,必須先了解Thread類別中有哪些成員可以使用,說明如下:15Thread類別的建構式與成員函式-2:16Thread類別的建構式與成員函式-3:17Thread類別的建構式與成員函式-4:18下面使用基礎類別Object中的函式

7、,說明如下:除了上面的成員以外,執行緒時還可能會使用到基礎類別Object中的函式,說明如下:1920例如下面的程式碼利用Thread類別建立多個執行緒:212223上述利用Thread類別建立多個執行緒的程式碼分析如下-1:第22~42行建立一個列印執行緒,必須要繼承Thread類別。第26~28行宣告建構式,設定列印的份數與樣式。第30~41行覆載Thread基礎類別中的run成員函式,第31行顯示目前執行緒的名稱。第36行利用sleep函式將執行緒暫停2秒(2000毫秒=2秒),必須拋出一個InterruptedException例外,使暫停

8、中的執行緒可以隨時偵測中斷例外狀況。第4行顯式預設執行緒的名稱為main,表示執行Java程式時,不需要利用start函式

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。