找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1001|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

java語言基礎(chǔ)(8)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:291487 發(fā)表于 2018-12-26 14:51 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
使用runnable接口:使用Thread子類創(chuàng)建線程的優(yōu)點是:可以在子類中增加新的成員變量,使線程具有某種屬性,也可以在子類中新增加方法,使線程具有某種功能。
但是,Java不支持多繼承,Thread類的子類不能再擴展其他的類。
線程的使用方法:1.start() : 線程調(diào)用該方法將啟動線程,使之從新建狀態(tài)進入就緒隊列排隊,一旦輪到它來享用CPU資源時,就可以脫離創(chuàng)建它的線程獨立開始自己的生命周期了。
2.run(): Thread類的run()方法與Runnable接口中的run()方法的功能和作用相同,都用來定義線程對象被調(diào)度之后所執(zhí)行的操作,都是系統(tǒng)自動調(diào)用而用戶程序不得引用的方法。
3.sleep(int millsecond): 優(yōu)先級高的線程可以在它的run()方法中調(diào)用sleep方法來使自己放棄CPU資源,休眠一段時間。  
4.isAlive(): 線程處于“新建”狀態(tài)時,線程調(diào)用isAlive()方法返回false。在線程的run()方法結(jié)束之前,即沒有進入死亡狀態(tài)之前,線程調(diào)用isAlive()方法返回true.
5.currentThread():該方法是Thread類中的類方法,可以用類名調(diào)用,該方法返回當(dāng)前正在使用CPU資源的線程。  
6.interrupt() :一個占有CPU資源的線程可以讓休眠的線程調(diào)用interrupt()方法“吵醒”自己,即導(dǎo)致休眠的線程發(fā)生InterruptedException異常,從而結(jié)束休眠,重新排隊等待CPU資源。
線程同步:在處理多線程問題時,我們必須注意這樣一個問題:當(dāng)兩個或多個線程同時訪問同一個變量,并且一個線程需要修改這個變量。我們應(yīng)對這樣的問題作出處理。
所謂線程同步就是若干個線程都需要使用一個synchronized修飾的方法.即程序中的若干個線程都需要使用一個方法,而這個方法用synchronized給予了修飾。   
多個線程調(diào)用synchronized方法必須遵守同步機制:當(dāng)一個線程使用這個方法時,其他線程想使用這個方法時就必須等待,直到線程使用完該方法。在使用多線程解決許多實際問題時,可能要把某些修改數(shù)據(jù)的方法用關(guān)鍵字synchronized來修飾


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表