多執行緒設定flag標誌位實現同步

2022-01-29 19:17:58 字數 853 閱讀 2803

我盡量注釋了**,可以很容易理解了。

package thread;

/** * 訊號燈

* 借助標誌位

*/public class flagthread

}class consume extends thread

@override

public void run()

}}class producer extends thread

@override

public void run()

}}//資源

//同步方法要放在資源裡,沒有交點不會相互喚醒

class bread

public synchronized void produce() catch (interruptedexception e)

}//如果標誌位為true,那就生產,生產之後吧flag設定為false

system.out.println(thread.currentthread ().getname ()+"正在生產······");//這是這句話的臨界資源

this.flag=!this.flag;

this.notifyall();

}public synchronized void consume() catch (interruptedexception e)

}//否則等待

system.out.println(thread.currentthread ().getname ()+"正在消費·····");

this.flag=!this.flag;

this.notifyall();

}}

常見的標誌暫存器FLAG的標誌位

進製標誌cf主要用來反映運算是否產生進製或借位。如果運算結果的最高位產生了乙個進製或借位,那麼,其值為1,否則其值為0。使用該標誌位的情況有 多字 位元組 數的加減運算,無符號數的大小比較運算,移位操作,字 位元組 之間移位,專門改變cf值的指令等。奇偶標誌pf用於反映運算結果中 1 的個數的奇偶性...

串列埠接收標誌位語句 串列埠程式設計中,如何設定標誌位

1級2011 08 25 回答 你好樓主,前一陣正好研究了一下linux串列埠程式設計,苦惱了一陣,不過總算弄通了,下面說一下我的思路和理解。struct termios state 這是乙個設計到串列埠屬性的結構體,通過給結構體內的屬性賦值來設計串列埠 的一些屬性。tcgetattr stdin ...

多執行緒簡單例項 beginthreadx實現

使用 beginthreadex 函式,需使用標頭檔案,且進行編譯環境的設定 詳見上篇文章 執行緒的建立和終止 c include include include using namespace std static unsigned stdcall thread1 void param stati...