併發程式設計的基本知識(三)

2021-09-23 20:31:31 字數 440 閱讀 6017

當多個執行緒訪問某個類時,不管執行時環境採用何種排程方式或者這些執行緒將如何交替執行,並且在呼叫**中不需要任何額外的同步或者協同,這個類都能表現出正確的行為,那麼就稱這個類是執行緒安全的。

1、執行緒封閉

2、無狀態的類

3、類不可變

4、volatile

5、加鎖和cas

6、threadlocal

是指兩個或兩個以上的程序在執行過程中,由於競爭資源或者由於彼此通訊而造成的一種阻塞的現象,若無外力作用,它們都將無法推進下去。此時稱系統處於死鎖狀態或系統產生了死鎖

1、互斥條件

2、請求和保持條件

3、不剝奪條件

4、環路等待條件

避免死鎖常見的演算法有有序資源分配法、銀行家演算法

1、簡單的順序死鎖

2、動態的順序死鎖

1、懶漢式

2、餓漢式

shell程式設計的基本知識

1.用編輯器寫個檔案,裡面是在shell裡輸入的那些命令,可以通過path環境變數引用到的命令都可以用。bin sh 後面的那個引數是用來執行指令碼的程式 後面是注釋 剩下的就像在shell裡一樣的寫就行了 注意最後要加exit 退出碼,shell裡0表示成功。1 bin sh 2 簡單示例 3 e...

執行緒程式設計基本知識介紹

執行緒程式設計基本知識介紹 執行緒程式設計基本知識介紹,常用執行緒函式列舉 與執行緒相關的函式可以分類歸結為以下幾個部分 1 執行緒管理函式,包括執行緒的建立,退出,函式為 pthread create,pthread join,pthread exit,pthread self,pthread c...

javascript基本知識整理三

全域性變數 定義在外邊的變數 若沒有用var宣告,則當這行賦值執行,則就將他認為是全域性變數。區域性變數 在函式內部裡宣告的變數,只能在該函式裡有效。bom物件 window物件的方法 prompt alert confirm close open settimeout setinterval cl...