freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第七講多線程-全文預覽

2025-09-26 21:49 上一頁面

下一頁面
  

【正文】 果當前線程在執(zhí)行過程中,一個具有更高優(yōu)先級的線程進入可執(zhí)行狀態(tài),則該告優(yōu)先級的線程會被立即調(diào)度執(zhí)行??梢杂删€程自身在線程體中調(diào)用 suspend()方法暫停自己,也可以在其他線程中通過線程實例調(diào)用 suspend()方法暫停線程的執(zhí)行。 //等待線程 thd執(zhí)行完后再繼續(xù)往下執(zhí)行 … join(int time):最多等待 time所指定的時間。 ? yield()方法: 將執(zhí)行的權力交給其它優(yōu)先級相同的線程,當前執(zhí)行線程到可運行線程隊列( ready)的最后等待,若隊列空,該方法無效。 } } 線程的生命周期及控制 ? isAlive()方法: 可以用來判斷線程目前是否正在執(zhí)行中。 } } 線程的生命周期及控制 public class ControlThread { private Xyz r = new Xyz()。 線程的生命周期及控制 可以通過在其他線程中調(diào)用 stop()方法來終止線程,也可以由線程自己調(diào)用 stop()方法,自我終止。 } } //線程被強行停止 myThread thd = new MyThread()。自然撤消是指從線程的 run()方法正常退出;而調(diào)用線程的實例方法 stop()則可以強制停止當前線程。 } catch (InterruptedException e){ } ? 不可運行狀態(tài)( Not Runnable) 對于這四種使得線程處于不可運行狀態(tài)的情況,都有特定的方法使線程返回可運行狀態(tài): ? 如果線程處于睡眠狀態(tài)中, sleep()方法中的參數(shù)為休息時間,當這個時間過去后,線程即為可運行的; ? 如果一個線程被掛起,須調(diào)用 resume()方法來返回; ? 如果線程在等待條件變量,那么要停止等待的話,需要該條件變量所在的對象調(diào)用 notify()或 notifyAll()方法 。 線程的生命周期及控制 線程的生命周期及控制 ? 不可運行狀態(tài)( Not Runnable) 線程處于 可運行狀態(tài)時, 當下面四種情況發(fā)生,線程就進入不可運行狀態(tài): ? 調(diào)用了 sleep()方法; ? 調(diào)用了 suspend()方法; ? 為等候一個條件變量,線程調(diào)用 wait()方法; ? 輸入輸出流中發(fā)生線程阻塞。 需要注意的是這一狀態(tài)并不是運行中狀態(tài)( Running ),因為線程也許實際上并未真正運行( Ready)。 ),它就處于創(chuàng)建狀態(tài),此時它僅僅是一個空的線程對象,系統(tǒng)不為它分配資源。 創(chuàng)建線程的方式 創(chuàng)建線程的方式 Thread類的方法 ? void run() ? 線程所執(zhí)行的代碼 ? void start() throws IllegalThreadStateException ? 使程序開始執(zhí)行,多次調(diào)用會產(chǎn)生例外 ? void sleep(long milis) ? 讓線程睡眠一段時間,此期間線程不消耗 CPU資源 ? void interrupt() ? 中斷線程 ? static boolean interrupted() ? 判斷當前線程是否被中斷(會清除中斷狀態(tài)標記) ? boolean isInterrupted() ? 判斷指定線程是否被中斷 線程狀態(tài)控制方法 創(chuàng)建線程的方式 Thread類的方法 ? boolean isAlive() ? 判斷線程是否處于活動狀態(tài)(即已調(diào)用 start,但 run還未返回) ? static Thread currentThread() ? 返回當前線程對象的引用 ? void setName(String threadName) ? 改變線程的名字 ? String getName() ? 獲得線程的名字 ? String toString() ? 例子: Thread[Thread0,1,test] ? void join([long millis[, int nanos]]) ? 等待線程結束 創(chuàng)建線程的方式 Thread類的方法 ? void destroy() ? 銷毀線程 ? void stop() ? 終止線程的執(zhí)行 ? void suspend() / void resume() ? 掛起線程 / ? static void yield() ? 暫停當前線程,讓其他線程執(zhí)行 ? void setDaemon(boolean on) / void setPriority(int p) ? 獲得線程的名字 ? notify() / notifyAll() / wait() - 從 Object繼承而來 線程的生命周期及控制 線程是程序內(nèi)部的一個順序控制流,它具有一個特定的生命周期。 ? 使用 Runnable接口使得包含線程體的類還可以繼承其他類。 } public void stop() { ()。 } } public void run() { while (clockThread != null) { repaint()。這時,實現(xiàn)接口 Runnable的類還可以再繼承其他類,即實現(xiàn)接口 Runnable的類可以不單純是提供線程體。 try{ sleep((int)(() * 1000))。 創(chuàng)建線程的方式 class SimpleThread extends Thread { public SimpleThread(String str) { super(str)。 創(chuàng)建線程的方式 從 Thread類的構造方法可以看出,用戶可以有兩種方法構造自己的 run( )方法。 target必須實現(xiàn)接口 Runnable。 ? 在一個線程被建立并初始化以后, Java的運行時系統(tǒng)就自動調(diào)用 run( )方法,正是通過 run( )方法才使得建立線程的目的得以實現(xiàn)。 創(chuàng)建線程的方式 Java的線程是通過 Java的軟件包 定義的類 Thread來實現(xiàn)的。 ? 程序代碼 ? 程序數(shù)據(jù) ? 程序資源 ? 線程:進程中程序代碼的一個執(zhí)行序列。進程是由操作系統(tǒng)來管理的,而線程則是在一個程序(進程)內(nèi)。 一個單獨的線程和順序程序相似,也有一個入口、一個出口以及一個順序執(zhí)行的序列,從概念上說,一個線程是一個程序內(nèi)部的一個順序控制流。 事實上,在單個程序內(nèi)部是可以在同一時刻進行多種運算的,這就是所謂的多線程(這與多任務的概念有相似之處)。 將軍令 多線程 多線程基本概念 從邏輯的觀點來看,多線程意味著一個程序的多行語句同時執(zhí)行,但是多線程并不等于多次啟動一個程序,操作系統(tǒng)也不會把每個線程當作獨立的進程來對待: ? 兩者的粒度不同,是兩個不同層次上的概念。 多線程基本概念 ? 進程:程序的一次執(zhí)行。在 Java中,線程可以認為是由三部分組成的: ? 虛擬 CPU,封裝在 ,它控制著整個線程的運行; ? 執(zhí)行的代碼,傳遞給 Thread類,由 Thread類控制順序執(zhí)行; ? 處理的數(shù)據(jù),傳遞給 Thread類,是在代碼執(zhí)行過程中所要處理的數(shù)據(jù)。實現(xiàn)線程體的特定對象是在初始化線程時傳遞給線程的。 先來看看線程對象的初始化,類 Thread的構造方法如下: public Thread( ThreadGroup group, Runnable target, String name) ? group指明了線程所屬的線程組; ? target是線程體 run()方法所在的對象; ? name是線程的名稱。 類 Thread本身也實現(xiàn)了接口 Runnable(空實現(xiàn)),因此,上述構造方法中各參數(shù)都可以為 null。由于 Java只支持單繼承,用這種方法定義的類不能再繼承其他類。 i++) { (i + + getName())。在初始化一個 Thread類或子類生成線程實例時,把目標對象傳遞給這個線程實例,由該目標對象提供線程體 run()方法。 ()。 (() + : + () + : + (), 5, 10)。 ? 使用 Runnable接口可以將線程的虛擬 CPU、代碼和數(shù)據(jù)分開,形成一個比較清晰的模型。通常,當一個線程體所在的類已經(jīng)繼承了另一個類時,就應該用實現(xiàn) Runnabl
點擊復制文檔內(nèi)容
教學課件相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1