什麼是执行绪课件_第1页
什麼是执行绪课件_第2页
什麼是执行绪课件_第3页
什麼是执行绪课件_第4页
什麼是执行绪课件_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Thread簡介--什麼是執行緒定義:程式的執行軌跡intx,y;intz;x=3;y=x+4;z=5;SingleThread依序執行intx,y;x=3;y=x+4;intz;z=5;CPUCPUMulti-Thread程式,行程,執行緒程式(Program)儲存於硬碟中的可執行檔稱為Program行程(Process)載入記憶體中的可執行檔稱為Process執行緒(Thread)Process中的一段程式碼執行軌跡稱為Thread,是電腦中最小的執行單位。HDDMemoryProgramProcessThread多工與多執行緒目前的作業系統都強調多工(Multitasking)。例如:在Windows上可以同時執行小畫家、記事本與IE瀏覽器等多個應用程式。多執行緒(Multithreaded)是指在單一應用程式擁有多個執行流程。例如:IE瀏覽器可以在下載網頁檔案的同時顯示動畫、撥放音樂或捲動視窗瀏覽網頁內容。Thread物件簡介繼承Thread類別:使用時機:若類別沒有繼承其他類別,就可以直接繼承Thread類別,然後覆寫run()方法。在主類別程式中再建立執行緒物件,然後以start()方法啟動個別的執行緒。範例程式:Thread物件簡介使用方法:classMyThreadextendsThread{ //呼叫父類別Thread的Thread(Stringname)建構子

publicMyThread(Stringn)//設定執行緒名稱 {super(n); }

publicvoidrun()//Thread執行的程式片段 {…….. }}ClassMainClass{publicstaticvoidmain(String[]args){//主類別程式 //建立執行緒

MyThreadt1=newMyThread("t1"); MyThreadt2=newMyThread("t2"); //啟動執行緒 t1.start(); t2.start();}}Thread物件簡介父類別Thread的建構子參數介紹:Thread()Thread(Stringname)Thread(Runnabletarget)Thread(Runnabletarget,Stringname)建立Thread物件,參數name是執行緒名稱,target是實作Runnable介面的物件(使用繼承Thread時用不到target參數)。Thread物件簡介與“行為”有關的方法:voidrun():定義此執行緒的任務。一旦執行緒醒過來後,run()裡面定義什麼,它就執行什麼。執行完run()後就會死。voidstart():開始執行Thread。此方法會觸動run()函數booleanisAlive():傳回此Thread是否活動中。staticvoidyield():把自己暫停,先禮讓其它相同優先順序的Thread執行。staticvoidsleep(longmillis):讓自己小睡片刻,經過millis微秒(ms)後再醒過來voidjoin():停止執行,等死。voiddestroy():命令Thread馬上去死。Runnable介面簡介用途自訂Thread時,除了繼承Thread類別,也可實作Runnable介面。使用時機當您自訂的類別已經繼承其它類別,卻又要變成一個Thread物件時。例如,Swing應用程式繼承自JFrame,JavaApplet繼承自JApplet。介面提供的方法:voidrun()

Runnable內唯一需要程式師實作的方法。執行緒同步問題所謂“執行緒同步問題”是指兩個執行緒同時存取一個共用變數時,所會發生的問題:$10000王先生王太太$10000$10000-$1000-$9000$9000$1000$1000$9000提領$9000提領$1000提領$1000執行緒同步問題解決方法:Lock–Wait-Notify$10000王先生王太太$10000LockWait-$1000$9000$9000Notify$9000執行緒同步問題Java的解決方法:Lock:使用synchroniz

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论