Java基礎 建立執行緒第三種方式及執行緒的特性

2021-08-18 20:44:41 字數 748 閱讀 3093

執行緒的三大特性

1 原子性 即乙個操作或者多個操作

要麼全部執行並且執行的過程不會被任何因素打斷,要麼就都不執行。

2 可見性 指當多個執行緒訪問同乙個變數時,乙個執行緒修改了這個變數的值,其他執行緒能夠立即看得到修改的值。

當乙個共享變數被

volatile

修飾時,它會保證修改的值會立即被更新到主存,當有其他執行緒需要讀取時,它會去記憶體中讀取新值。

另外,通過

synchronized

和lock

也能夠保證可見性,

synchronized

和lock

能保證同一時刻只有乙個執行緒獲取鎖然後執行同步**,並且在釋放鎖之前會將對變數的修改重新整理到主存當中。因此可以保證可見性。

3 有序性 

即程式執行的順序按照**的先後順序執行。

建立執行緒的第三種方式:使用callable建立執行緒:

public

class

callablethreadtest

implements

callable

}try catch (interruptedexception e) catch (executionexception e)

}@override

public

integer

call() throws

exception

return i;

}}

多執行緒第三種建立方式 Callable

functionalinte ce public inte ce callable返回結果並可能引發異常的任務。實現者定義乙個沒有引數的單一方法,稱為call callable介面類似於runnable 因為它們都是為其實例可能由另乙個執行緒執行的類設計的。然而,a runnable不返回結果,也不...

執行緒的第三種建立方式 Callable的使用

public class mythread implements callable public class callabledemo aaa 11111111 1024futuretask.get 建議放在 的最後面,否則main執行緒會等待子執行緒執行完才會執行。public class cal...

python三種多執行緒建立風格,第三種用的最廣泛

本博文源於python炫酷技能,主要講述三種多執行緒的建立。尤其是第三種基於類繼承構造是大型工程必知的內容 所謂匿名函式構造就是即用即走那種 import threading defshow i print 被執行了!str i threading.thread target show,args 2...