建立執行緒的方式及優缺點

2021-10-02 08:16:34 字數 882 閱讀 4397

定義父類thread的子類,並重寫父類方法中的run()方法,該方法的方法體表示了該執行緒要完成的任務,所以稱run()方法為執行體。

建立該thread子類的例項物件。

呼叫該執行緒物件的start()方法來啟動該執行緒。

定義 runnable 介面的實現類,並重寫該介面的 run() 方法,該 run() 方法的方法體同樣是該執行緒的執行緒執行體。

建立該實現類的例項物件,並依此例項物件作為 thread類 的 target 來建立 thread 物件,該thread物件便是執行緒物件

呼叫該執行緒物件的start()方法來啟動該執行緒。

建立callable介面的實現類,並重寫該介面的call()方法,call()方法即為該執行緒的執行體

建立實現類的例項物件,用futuretask類來包裝實現類例項物件。 該 futuretask 物件封裝了該 callable 物件的 call() 方法的返回值。

用futuretask物件作為thread類的target來建立並啟動該執行緒。

呼叫 futuretask 物件的 get() 方法來獲得子執行緒執行結束後的返回值

優勢:執行緒類只是實現了 runnable 介面或 callable 介面,還可以繼承其他類。在這種方式下,多個執行緒可以共享同乙個 target 物件,所以非常適合多個相同執行緒來處理同乙份資源的情況,從而可以將 cpu、**和資料分開,形成清晰的模型,較好地體現了物件導向的思想。

劣勢是:程式設計稍微複雜,如果要訪問當前執行緒,則必須使用 thread.currentthread() 方法。

優勢是:編寫簡單,如果需要訪問當前執行緒,則無需使用 thread.currentthread() 方法,直接使用 this 即可獲得當前執行緒。

劣勢是:執行緒類已經繼承了 thread 類,所以不能再繼承其他父類。

js建立物件的多種方式及優缺點

在js中,如果你想輸入乙個的資訊,例如姓名,性別,年齡等,如果你用值型別來儲存的話,那麼你就必須要宣告很多個變數才行,變數宣告的多了的話,就會造成變數汙染。所以最好的方式就是儲存到物件中。下面能我就給大家介紹幾種建立物件的方式,並且給大家說一下他們的優缺點 方式一 物件字面量 var obj 缺點 ...

Js繼承方式及優缺點

作為一門基於物件的語言,js中也可以通過繼承來實現父型別和子型別之間屬性或方法的傳遞,其方式有以下幾種 1 原型鏈繼承 子型別的原型物件是父型別的例項即subertype.prototype new supertype 缺點 子型別繼承了父型別原型中的所有屬性和方法,但是對於引用型別的屬性值,所有例...

mintUI的使用方式及優缺點

mintui 是一款依託於vue.js的元件化方案,具體引入方式在官網 首頁就有,這裡不詳細介紹,只是講解如何更快速的理解 和 熟悉這套框架 進入官網後後有乙個選擇項 我們可以選擇中文版api 可以看到 左側的選單中總共分為三個選項,js components css components form...