總結 第十四章 執行緒

2022-07-26 07:42:10 字數 1058 閱讀 9820

執行緒

乙個執行緒是程序內部的分支 。執行緒是共享乙個程序的記憶體空間。\n

thread 類 (執行緒)

1.寫乙個類繼承thread類,重寫run();方法,\n

2.new 出這個類\n

3.呼叫這個類的start()方法,開啟執行緒,該方法會為執行緒分配資源,然後自動呼叫this,run()方法,如果直接呼叫run方法不會報錯,但只是普通的方法呼叫而已,並沒有開啟執行緒

第二種方式(如果乙個類繼承了乙個父類):

runnable 介面,

1.寫乙個類實現runnable介面,重寫run()方法。

2.先new 出這個類,在new 出thread 執行緒。

3.將執行緒介面傳給thread 執行緒,再使用thread的start方法。

造成執行緒中斷的五個狀態:

1.z中斷狀態:cpu 執行其他執行緒沒有執行本執行緒時,被執行的機率分為優先順序(共10級),使用.setpriorty()方法

2.阻塞狀態:由於輸入輸出造成的執行緒中斷狀態。

3.休眠狀態:主動呼叫sleep()方法,給他乙個毫秒數,在這個時間之後執行。

4.d等待狀態:在object中的wait方法和notify 方法,等待和喚醒一般搭配使用。

5.掛起狀態:強制將乙個執行緒退出,yield()方法。

執行緒同步(synchronized)同步鎖

當有時兩個或多個執行緒可能會試圖同時訪問乙個資源,在此情況下,資料可能會變的不一致,為了確保任何乙個時間點共享的資源只被乙個執行緒使用,便使用了「同步」,使用同步關鍵字 synchronized 作為標識。

t同步的第一種實現:

同步方法,在資源身上加同步關鍵字synchronized

t同步的第二種實現:在呼叫資源的執行緒上用synchronized 同步塊,

列:synchronized (this.rs)

注意:包裝類作引用型別傳參時,會產生乙個新的包裝類物件,其效果與基本型別資料無異。\n

擴充套件:死鎖

當兩個執行緒同步同一資源兩個功能,並且兩個功能有相互依賴關係時。便成了死鎖,這時便需要呼叫object的wait()和notify()方法。

第十四章約束

約束 constraint 是一種保證資料完整性的規則。約束設定在單個字段或者多個字段組合上,寫入這些欄位的行資料必須要符合約束的規則 約束的五種型別 not null 非空約束,指定某列的所有行資料不能包含空值 unique 唯一性約束,指定列或者列的組合的所有行資料必須唯一 primary ke...

第十四章 約束

第十四章 約束 練習1 1.學校有乙個選課系統,其中包括如下關係模式 系 系編號 主鍵,系名稱 唯一鍵,系主任 非空約束,系所在校去 取值範圍只能在南湖校區和渾南校區 create table xi xi no varchar2 10 primary key,xi name varchar2 10 ...

第十四章 集合

1.集合 把個數不定的物件一起帶著走 集合是乙個存放任意數量的引用的物件的容器 多個物件放在另乙個物件中,此物件可成為乙個集合物件 注意 如果集合物件建立時不指定泛型,則在當前集合中可以存放任意型別的物件 包括 collection list set map list 介面的實現類有arraylis...