Bài tóan đèn hiệu P1, P2, P3 chờ xoay vòng
Trang 1 trong tổng số 1 trang
Bài tóan đèn hiệu P1, P2, P3 chờ xoay vòng
Cac ban tham khao nhe..
Bài tóan đèn hiệu P1, P2, P3 chờ xoay vòng
P1:
#include <stdio.h>
#include <conio.h>
#include <windows.h>
HANDLE semSynch31;
HANDLE semSynch12;
int main()
{
semSynch31=CreateSemaphore(0, 0, 1, "SYNCH31");
semSynch12=CreateSemaphore(0, 0, 1, "SYNCH12");
printf("P1 chay xong ! \n\n");
printf("Bam phim bat ky de P2 chay tiep:");
getch();
ReleaseSemaphore(semSynch12, 1, 0);
while(true)
{
printf("\nCho P3 chay xong .... \n");
WaitForSingleObject(semSynch31,INFINITE);
printf("P1 chay xong ! \n\n");
printf("Bam phim bat ky de P2 chay tiep:\n");
getch();
ReleaseSemaphore(semSynch12, 1, 0);
}
return 0;
}
//====================================
P2:
#include <stdio.h>
#include <conio.h>
#include <windows.h>
HANDLE semSynch12;
HANDLE semSynch23;
int main()
{
semSynch12=CreateSemaphore(0, 0, 1, "SYNCH12");
semSynch23=CreateSemaphore(0, 0, 1, "SYNCH23");
while(true)
{
printf("\nCho P1 chay xong .. \n");
WaitForSingleObject(semSynch12,INFINITE);
printf("P2 chay xong ! \n\n");
printf("Bam phim bat ky de P3 chay tiep:\n");
getch();
ReleaseSemaphore(semSynch23, 1, 0);
}
return 0;
}
//=======================================
P3
#include <stdio.h>
#include <conio.h>
#include <windows.h>
HANDLE semSynch23;
HANDLE semSynch31;
int main()
{
semSynch23=CreateSemaphore(0, 0, 1, "SYNCH23");
semSynch31=CreateSemaphore(0, 0, 1, "SYNCH31");
while(true)
{
printf("\nCho P2 chay xong ..\n");
WaitForSingleObject(semSynch23,INFINITE);
printf("P3 chay xong ! \n\n");
printf("Bam phim bat ky de P1 chay tiep:\n");
getch();
ReleaseSemaphore(semSynch31, 1, 0);
}
return 0;
}
_________________
Bài tóan đèn hiệu P1, P2, P3 chờ xoay vòng
P1:
#include <stdio.h>
#include <conio.h>
#include <windows.h>
HANDLE semSynch31;
HANDLE semSynch12;
int main()
{
semSynch31=CreateSemaphore(0, 0, 1, "SYNCH31");
semSynch12=CreateSemaphore(0, 0, 1, "SYNCH12");
printf("P1 chay xong ! \n\n");
printf("Bam phim bat ky de P2 chay tiep:");
getch();
ReleaseSemaphore(semSynch12, 1, 0);
while(true)
{
printf("\nCho P3 chay xong .... \n");
WaitForSingleObject(semSynch31,INFINITE);
printf("P1 chay xong ! \n\n");
printf("Bam phim bat ky de P2 chay tiep:\n");
getch();
ReleaseSemaphore(semSynch12, 1, 0);
}
return 0;
}
//====================================
P2:
#include <stdio.h>
#include <conio.h>
#include <windows.h>
HANDLE semSynch12;
HANDLE semSynch23;
int main()
{
semSynch12=CreateSemaphore(0, 0, 1, "SYNCH12");
semSynch23=CreateSemaphore(0, 0, 1, "SYNCH23");
while(true)
{
printf("\nCho P1 chay xong .. \n");
WaitForSingleObject(semSynch12,INFINITE);
printf("P2 chay xong ! \n\n");
printf("Bam phim bat ky de P3 chay tiep:\n");
getch();
ReleaseSemaphore(semSynch23, 1, 0);
}
return 0;
}
//=======================================
P3
#include <stdio.h>
#include <conio.h>
#include <windows.h>
HANDLE semSynch23;
HANDLE semSynch31;
int main()
{
semSynch23=CreateSemaphore(0, 0, 1, "SYNCH23");
semSynch31=CreateSemaphore(0, 0, 1, "SYNCH31");
while(true)
{
printf("\nCho P2 chay xong ..\n");
WaitForSingleObject(semSynch23,INFINITE);
printf("P3 chay xong ! \n\n");
printf("Bam phim bat ky de P1 chay tiep:\n");
getch();
ReleaseSemaphore(semSynch31, 1, 0);
}
return 0;
}
_________________
107H1035-PhanThaiHoa- Tổng số bài gửi : 24
Join date : 06/05/2009
Similar topics
» Thảo luận Bài 4
» Thảo luận Bài 4
» Lập trình Bài toán Sản xuất-Tiêu thụ dùng semFull-semEmpty-CritSec
» Bài giải: chạy xoay vòng với 3 tiến trình P1,P2,P3
» Thảo luận Bài 4
» Thảo luận Bài 4
» Lập trình Bài toán Sản xuất-Tiêu thụ dùng semFull-semEmpty-CritSec
» Bài giải: chạy xoay vòng với 3 tiến trình P1,P2,P3
» Thảo luận Bài 4
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết