多執行緒協調模板

2022-01-23 02:59:25 字數 1969 閱讀 1661

在多執行緒進行相互協調是個頭疼的事,今天寫個多執行緒協調操作模板,以後只要套用這個模板就好了

public

abstract

class order implements

runnable

public

void

run()

}private

void

dosomething()

} catch

(interruptedexception e)

}this

.content();

if (this

.stop())

status = this

.changestatus();

this

.condition.signalall();

} finally

}public

abstract

intgetstatus();

public

abstract

void

content();

public

abstract

intchangestatus();

public

boolean

stop()

}

下面我們來測試一下,有這麼乙個需求,有三個執行緒,執行緒a輸出三行operatea,執行緒b輸出兩行operateb,執行緒c輸出一行operatec,然後按照這種順序迴圈三次。

測試示例:

public

class

threadordertest

@override

public

intgetstatus()

@override

public

void

content()

}@override

public

intchangestatus()

}public

static

class operateb extends

order

@override

public

intgetstatus()

@override

public

void

content()

}@override

public

intchangestatus()

}public

static

class operatec extends

order

@override

public

intgetstatus()

@override

public

void

content()

@override

public

intchangestatus()

public

boolean

stop()

return

false

; }

}public

static

void

main(string args)

}

輸出:

operatea

operatea

operatea

operateb

operateb

operatec

operatea

operatea

operatea

operateb

operateb

operatec

operatea

operatea

operatea

operateb

operateb

operatec

Java多執行緒(四) 協調同步執行緒

當乙個執行緒使用的同步方法中用到的某個變數,而此變數又需要其他執行緒修改才能符合本執行緒的需要,那麼可以再同步方法中使用wait 方法。使用wait 方法時正確的模板是將鎖放置在while 迴圈中。package test public class tickethome implements run...

易語言多執行緒大漠多執行緒模板多執行緒初始化

多執行緒初始化,在啟動視窗後,需要首先呼叫,包括對執行緒控制代碼,視窗控制代碼,程序pid,程序狀態,異常狀態,是否暫停,是否結束的初始化,特別說明的是,為任務狀態申請記憶體空間,因為任務狀態的資料型別是文字型,防止避免多執行緒訪問文字型變數引發的資料衝突,預先分配好記憶體位址。511遇見易語言多執...

易語言多執行緒大漠多執行緒模板UI更新

ui更新就是對視窗的元件超級列表框傳送讀寫,採用了封裝。大漠多執行緒模板原始碼 版本 2 支援庫 iext 子程式 ui 更新,用來更新視窗的超級列表框相關執行緒資訊 引數 主序號,整數型 引數 操作,整數型 區域性變數 列表索引,整數型 增加 如果真 操作 ui 增加 列表索引 視窗列表.插入表項...