BNB燃燒代幣模式專案系統開發原理(原始碼搭建)
BNB燃燒機制模式專案開發講解功能開發分析
該指令又稱為對換指令,在Intel 80x86中又稱為XCHG指令,用於交換兩個字的內容。下面為虛擬碼。
void swap(boolean *a,boolean *b){
boolean temp;
temp = *a;
*a = *b;
*b = temp;
}
方法是為每個臨界資源設定一個全域性的布林變數lock,初值為false,在每個程式中再利用一個區域性變數key,利用swap指令實現程式互斥的迴圈程式,下面為虛擬碼描述。
do{
key = true;
do{
swap(&lock,&key);
}while(key!=false);
//臨界區操作
lock = false;
}while(true);
利用上述硬體指令能夠有效地實現程式互斥,但當臨界資源忙碌時,其他訪問程式必須不斷地進行嘗試,處於一種忙等的狀態,不符合“讓權等待”的原則,造成處理機時間的浪費,同時難以解決複雜問題。
接下來為java語言描述。
package chapter02;
//the class is the operation system's code
public class P057Swap {
private static int buffer;
private static boolean lock;
public static void main(String[] args) {
lock = false;
buffer = 0;
Thread prov = new ProvThreadClass();
prov.start();
Thread cust = new CustThreadClass();
cust.start();
}
public static boolean swap(boolean param){
boolean temp = lock;
lock = param;
param = temp;
//將替換的param引數回撥回去
return param;
}
static class ProvThreadClass extends Thread{
@Override
public void run() {
while(true){
//緩衝池滿的話
if(buffer==10){
}
else{
boolean key = true;
do{
//將key值兌換,除非當前的lock為false的時候就可以跳出迴圈
key = swap(key);
}while (key!=false);
buffer+=1;
System.out.println("生產出1件產品,目前剩餘產品個數:"+buffer);
lock = false;
}
try {
Thread.sleep(200);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
static class CustThreadClass extends Thread{
@Override
public void run() {
while(true){
//緩衝池空的話
if(buffer==0){
}
else{
boolean key = true;
do{
//將key值兌換,除非當前的lock為false的時候就可以跳出迴圈
key = swap(key);
}while (key!=false);
buffer-=1;
System.out.println("消費1件產品,目前剩餘產品個數:"+buffer);
lock = false;
}
try {
Thread.sleep(300);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69983064/viewspace-2945530/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- BNB 燃燒代幣模式專案系統開發模式
- BNB代幣燃燒挖礦系統開發DAPP技術分析原始碼搭建APP原始碼
- BNB代幣燃燒質押挖礦系統技術開發分析原理
- BNB代幣燃燒挖礦dapp系統開發技術詳情APP
- FIl模式Defi模式燃燒代幣模式專案系統開發技術(成熟技術)模式
- 燃燒代幣挖礦模式系統開發功能分析模式
- Solidity語言編寫丨BNB代幣燃燒挖礦系統開發技術丨BNB丨DefiSolid
- DAPP智慧合約燃燒代幣挖礦原始碼系統開發技術APP原始碼
- Bsc通縮代幣燃燒模式開發技術丨馬蹄鏈代幣挖礦模式系統開發技術模式
- 代幣合約系統開發搭建丨DAPP代幣模式專案開發技術方案APP模式
- DAPP合約代幣燃燒挖礦系統開發詳情方案APP
- IPPSWAP挖礦/燃燒IPP代幣系統開發技術詳情
- 區塊鏈代幣通縮燃燒挖礦系統開發(技術理念)區塊鏈
- BSC鏈代幣燃燒挖礦系統開發成熟技術丨功能分析
- DAPP公鏈代幣燃燒挖礦系統開發功能分析丨框架APP框架
- DAPP代幣通縮燃燒銷燬質押挖礦模式系統開發方案詳情(設計)APP模式
- BNB鏈合約代幣流動性挖礦系統開發|BNB鏈部署
- 淺析代幣燃燒挖礦分紅系統開發執行規則及開發步驟
- Defi代幣質押持幣生息系統技術開發(原始碼部署搭建)原始碼
- BSC/BNB幣安智慧鏈代幣質押分紅dapp系統開發程式碼部署APP
- 普及一下:DAPP代幣質押NFT分紅模式系統開發(原始碼搭建)APP模式原始碼
- DAPP合約代幣燃燒挖礦系統開發丨智慧合約DAPP技術框架APP框架
- 輕燃卡卡新零售系統開發原始碼搭建原始碼
- MMMBSC/BNB智慧鏈代幣系統開發/LP質押分紅技術開發解析
- IPP孵化Swap專案系統開發技術原始碼搭建原始碼
- SolaRoad代幣質押挖礦系統開發/原始碼/SolaRoad挖礦模式開發方案原始碼模式
- BNB鏈合約代幣流動性挖礦系統開發(成熟技術)
- DAPP燃燒挖礦系統開發技術分析APP
- DAPP質押代幣理財系統開發原始碼框架APP原始碼框架
- BSC/BNB智慧鏈代幣預售質押挖礦系統開發/技術開發詳情
- Defi代幣質押持幣生息系統技術開發及原始碼部署原始碼
- defi/dapp/lp代幣合約挖礦系統開發(開發案例)丨代幣合約挖礦系統開發(原始碼及說明)APP原始碼
- 量化合約系統開發(方案模式)|合約量化系統開發(原始碼搭建)模式原始碼
- 孵化/IPP/SWAP/專案挖礦系統開發技術/原始碼搭建原始碼
- 線上試題答題考試系統專案開發搭建原始碼原始碼
- BSC/BNB幣安智慧鏈代幣LP質押挖礦分紅系統開發技術詳情
- BSC/BNB智慧鏈開發/代幣預售/LP質押挖礦系統開發/技術詳情
- 關於區塊鏈代幣DAPP專案系統開發(Demo)區塊鏈APP