4種排序公用乙個陣列~~~使用互斥量防止訪問衝突~~
[cpp]view plain
copy
#include
#include
#include
using
namespace
std;
const
intn=12;
static
intarr[12]=;
handle
hmutex;
//互斥量控制代碼
intdata[n];
void
show(
intdata,
intn)
; void
quicksort(
int_data,
intlow,
inthigh)
//快速排序
data[i]=pivot;
quicksort(data,low,i-1);
quicksort(data,i+1,high);
} };
void
maopaosort(
intdata)
//氣泡排序
} j++;
} cout<<"maopao"
; show(list,n);
};
void
sortchoice(
intdata)
//選擇排序
intt=list[min];
list[min]=list[i];
list[i]=t;
} cout<<"choice:"
; show(list,n);
};
void
sortinsert(
intdata)
//插入排序
list[j]=t;
} cout<<"insert:"
; show(list,n);
};
void
sortshell(
intdata)
//希爾排序
list[j-1]=t;
} }
cout<<"shell:"
; show(list,n);
};
//執行緒函式
dword
winapi fun1proc(
lpvoid
lpparameter)
dword
winapi fun2proc(
lpvoid
lpparameter)
dword
winapi fun3proc(
lpvoid
lpparameter)
dword
winapi fun4proc(
lpvoid
lpparameter)
intmain(
intargc,
char
*argv)
互斥量的使用方法和臨界區(共享**段)類似,只是互斥量是在核心態實現的,臨界區在使用者態實現。
執行緒同步 使用互斥量
1.初始化與銷毀互斥量 linux使用pthread mutex t 資料型別表示互斥量,並使用pthread mutex init函式對互斥量進行初始化。include int pthread mutex init pthread mutex t restrict mutex,const pthr...
互斥量的使用《轉》
1 預備知識 臨界區非常適合同一程序中對資料的序列訪問,它的速度很快。然而,也許你想要使某些應用程式與機器中的其它事件或者其它程序取得同步,這時你就要使用一些核心物件來同步執行緒。核心物件包括 程序 執行緒 檔案 檔案變化通知 file change notification 控制台輸入 conso...
互斥量的使用《轉》
1 預備知識 臨界區非常適合同一程序中對資料的序列訪問,它的速度很快。然而,也許你想要使某些應用程式與機器中的其它事件或者其它程序取得同步,這時你就要使用一些核心物件來同步執行緒。核心物件包括 程序 執行緒 檔案 檔案變化通知 file change notification 控制台輸入 conso...