鏈動2+1商城系統開發原理(原始碼搭建)
鏈動2+1商城系統開發原理(原始碼搭建) (I 89喂-o3oo-店2434)
該指令又稱為對換指令,在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/69980703/viewspace-2945772/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 鏈動2+1系統開發原始碼示例| 鏈動2+1系統開發模式規則詳解原始碼模式
- 鏈動2+1系統開發模式規則詳解 | 鏈動2+1系統開發原始碼示例模式原始碼
- 2+1鏈動模式商城開發軟體系統|美麗天天秒2+1搭建案例模式
- 鏈動2+1系統軟體模式開發原始碼模式原始碼
- 美麗天天秒2+1商城無限鏈動模式系統開發模式
- 鏈動2+1小程式開發原始碼部署原始碼
- 區塊鏈商城開發正式版丨區塊鏈商城系統開發技術原理丨區塊鏈商城原始碼平臺區塊鏈原始碼
- 鏈動2+1系統復購模式開發模式
- 鏈動2+1分銷系統模式開發設計專案(鏈動2+1功能開發詳情)模式
- 鏈動2+1系統開發二二裂變模式模式
- 鏈動2+1系統開發詳細介紹
- 微商城小程式系統原始碼開發搭建前景和公司原始碼
- ProTradex鏈上挖礦系統開發原始碼搭建原始碼
- 跨境商城系統開發原始碼部署原始碼
- 美澳車動力商城系統開發原始碼部署原始碼
- 鏈動2+1模式軟體平臺開發(現成原始碼)模式原始碼
- 眾籌app商城開發詳細,眾籌app商城系統開發(原始碼部署),眾籌商城系統原始碼功能APP原始碼
- 區塊鏈商城dapp系統開發技術詳情丨區塊鏈商城dapp開發原始碼案例部署區塊鏈APP原始碼
- 電商聚合供應鏈商城系統對接開發(成熟原始碼)原始碼
- MetaForce佛薩奇系統原始碼開發搭建馬蹄鏈原始碼
- 佛薩奇原始碼系統開發搭建馬蹄鏈案例原始碼
- 區塊鏈眾籌商城系統開發實現技術方案丨區塊鏈眾籌商城開發原始碼部署區塊鏈原始碼
- DAPP區塊鏈商城開發(多語言)丨DAPP區塊鏈商城系統開發(海外版)及案例原始碼APP區塊鏈原始碼
- WineGo紅酒鏈遊模式開發系統搭建|酒鏈世界商城開發技術Go模式
- 鏈動2+1模式商城平臺搭建(新零售分銷)模式
- 淨研氏商城系統開發原始碼部署原始碼
- 慧優米商城系統開發原始碼部署原始碼
- 區塊鏈商城系統開發區塊鏈
- NFT商城系統介紹|NFT模式系統原始碼搭建模式原始碼
- 區塊鏈商城系統開發規則說明(邏輯及原始碼)區塊鏈原始碼
- 現成馬蹄鏈佛薩奇系統開發原始碼搭建原始碼
- 商城dapp系統開發技術分析丨商城dapp開發案例及原始碼APP原始碼
- 未來世界商城系統開發技術原始碼原始碼
- 多商戶商城開發(功能)丨多商戶商城系統開發(開發方案)丨多商戶商城成品原始碼系統原始碼
- 區塊鏈投票系統開發方案,區塊鏈投票系統開發原始碼區塊鏈原始碼
- BNB燃燒代幣模式專案系統開發原理(原始碼搭建)模式原始碼
- meta2032系統開發原始碼搭建原始碼
- 合約量化系統開發(原始碼搭建)原始碼