91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

1。生產(chǎn)者消費者問題(信號量+mutex) 參考教材中的生產(chǎn)者消費者算法,創(chuàng)建5個進程,其中兩個進程為生產(chǎn)者進程,3個進程為消費者進程。一個生產(chǎn)者進程試圖不斷地在一個緩沖中寫入大寫字母,另一個生產(chǎn)者進程試圖不斷地在緩沖中寫入小寫字母。3個消費者不斷地從緩沖中讀取一個字符并輸出。為了使得程序的輸出易于看到結(jié)果,仿照閱讀材料中的實例程序,分別在生產(chǎn)者和消費者進程的合適的位置加入一些隨機睡眠時間。 可選的實驗:在上面實驗的基礎(chǔ)上實現(xiàn)部分消費者有選擇地消費某些產(chǎn)品。例如一個消費者只消費小寫字符,一個消費者只消費大寫字母,而另一個消費者則無選擇地消費任何產(chǎn)品。消費者要消費的產(chǎn)品沒有時,消費者進程被阻塞。注意緩沖的管理。 2。用信號量和mutex方式實現(xiàn)睡覺的理發(fā)師問題 3。讀者寫者問題 教材和相關(guān)的閱讀材料中對讀者寫者問題算法均有描述,但這個算法在不斷地有讀者流的情況下,寫者會被阻塞。編寫一個寫者優(yōu)先解決讀者寫者問題的程序,其中讀者和寫者均是多個進程,用信號量作為同步互斥機制。

資源截圖

代碼片段和文件信息

#include?“stdio.h“
#include?“windows.h“

#define?CHAIRS?5
#define?MAX_DELAY_BARBER?100
#define?MAX_DELAY_HAIRCUT?100
#define?MAX_DELAY_WAIT?400

HANDLE??customers?barbers?mutex?h_barber?h_haircut;
int?????waiting?=?0;

DWORD?WINAPI?barber(PVOID?pvParam)
{
while?(1)
{
WaitForSingleobject(customers?INFINITE);
WaitForSingleobject(mutex?INFINITE);
waiting--;
ReleaseSemaphore(barbers?1?NULL);
ReleaseSemaphore(mutex?1?NULL);

printf(“理發(fā)師在幫顧客理發(fā),還有%d位顧客在等待\n“?waiting);
int?time_haircut;
time_haircut?=?rand()%MAX_DELAY_HAIRCUT;
Sleep(time_haircut);
}
return?0;
}

DWORD?WINAPI?haircut(PVOID?pvParam)
{
while?(1)
{
WaitForSingleobject(mutex?INFINITE);
if?(waiting? {
waiting++;
printf(“顧客增加\n“);
int?customer_wait;
customer_wait?=?rand()%MAX_DELAY_WAIT;
Sleep(customer_wait);
????????????ReleaseSemaphore(customers?1?NULL);
ReleaseSemaphore(mutex?1?NULL);
}
else
{
printf(“顧客已滿\n“);
????????????ReleaseSemaphore(mutex?1?NULL);
}
}??
return?0;
}

int?main(int?argc?char*?argv[])?
{
customers??=?CreateSemaphore(NULL?0?5?NULL);
barbers????=?CreateSemaphore(NULL?0?1?NULL);
mutex??????=?CreateSemaphore(NULL?1?1?NULL);
h_barber??=?CreateThread(NULL?0?barber?NULL?0?NULL);
h_haircut?=?CreateThread(NULL?0?haircut?NULL?0?NULL);
WaitForSingleobject(h_barber?INFINITE);
WaitForSingleobject(h_haircut?INFINITE);
return?0;
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????3040??2009-11-09?12:23??實驗二\理發(fā)師\barber\barber\barber.vcproj

?????文件???????1427??2009-11-09?15:57??實驗二\理發(fā)師\barber\barber\barber.vcproj.77A9D0331CA8430.Administrator.user

?????文件????????145??2009-11-09?14:36??實驗二\理發(fā)師\barber\barber\Debug\barber.exe.intermediate.manifest

?????文件???????5252??2009-11-09?14:36??實驗二\理發(fā)師\barber\barber\Debug\BuildLog.htm

?????文件???????2884??2009-11-09?14:36??實驗二\理發(fā)師\barber\barber\Debug\haircut.obj

?????文件?????????67??2009-11-09?14:36??實驗二\理發(fā)師\barber\barber\Debug\mt.dep

?????文件?????109568??2009-11-09?14:36??實驗二\理發(fā)師\barber\barber\Debug\vc80.idb

?????文件???????1518??2009-11-09?14:36??實驗二\理發(fā)師\barber\barber\haircut.cpp

?????文件????9694208??2009-11-09?15:57??實驗二\理發(fā)師\barber\barber.ncb

?????文件????????883??2009-11-08?22:15??實驗二\理發(fā)師\barber\barber.sln

????..A..H.??????8192??2009-11-09?15:57??實驗二\理發(fā)師\barber\barber.suo

?????文件??????57344??2009-11-09?14:36??實驗二\理發(fā)師\barber\debug\barber.exe

?????文件??????69632??2009-11-08?21:46??實驗二\生產(chǎn)者消費者\main\debug\main.exe

?????文件??????10210??2009-11-08?21:46??實驗二\生產(chǎn)者消費者\main\main\Debug\BuildLog.htm

?????文件????????145??2009-11-08?21:46??實驗二\生產(chǎn)者消費者\main\main\Debug\main.exe.intermediate.manifest

?????文件???????6487??2009-11-08?21:46??實驗二\生產(chǎn)者消費者\main\main\Debug\main.obj

?????文件?????????67??2009-11-08?21:46??實驗二\生產(chǎn)者消費者\main\main\Debug\mt.dep

?????文件?????109568??2009-11-08?21:46??實驗二\生產(chǎn)者消費者\main\main\Debug\vc80.idb

?????文件???????3825??2009-11-08?21:46??實驗二\生產(chǎn)者消費者\main\main\main.cpp

?????文件???????3035??2009-11-08?15:49??實驗二\生產(chǎn)者消費者\main\main\main.vcproj

?????文件???????1427??2009-12-15?21:53??實驗二\生產(chǎn)者消費者\main\main\main.vcproj.77A9D0331CA8430.Administrator.user

?????文件????9317376??2009-12-15?21:53??實驗二\生產(chǎn)者消費者\main\main.ncb

?????文件????????877??2009-11-08?15:47??實驗二\生產(chǎn)者消費者\main\main.sln

????..A..H.?????13312??2009-12-15?21:53??實驗二\生產(chǎn)者消費者\main\main.suo

?????文件??????57344??2009-11-08?21:42??實驗二\生產(chǎn)者消費者\producer-consumer\debug\producer-consumer.exe

?????文件???????5922??2009-11-08?21:42??實驗二\生產(chǎn)者消費者\producer-consumer\producer-consumer\Debug\BuildLog.htm

?????文件?????????67??2009-11-08?21:42??實驗二\生產(chǎn)者消費者\producer-consumer\producer-consumer\Debug\mt.dep

?????文件????????145??2009-11-08?21:42??實驗二\生產(chǎn)者消費者\producer-consumer\producer-consumer\Debug\producer-consumer.exe.intermediate.manifest

?????文件???????2427??2009-11-08?21:42??實驗二\生產(chǎn)者消費者\producer-consumer\producer-consumer\Debug\producer-consumer.obj

?????文件?????109568??2009-11-08?21:42??實驗二\生產(chǎn)者消費者\producer-consumer\producer-consumer\Debug\vc80.idb

............此處省略81個文件信息

評論

共有 條評論