Tin học
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Bài giải: chạy xoay vòng với 3 tiến trình P1,P2,P3

Go down

Bài giải: chạy xoay vòng với 3 tiến trình P1,P2,P3 Empty Bài giải: chạy xoay vòng với 3 tiến trình P1,P2,P3

Bài gửi  vhoanghung 11/5/2009, 23:42

P1 Chạy xong bật đèn xanh cho P2 sau đó P2 chạy xong bật đèn xanh cho P3 chạy.
Các bạn tạo 3 tiến trình P1,P2,P3 như sau:

Code P1:
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <windows.h>

HANDLE semSynch;

int main(){

semSynch=CreateSemaphore(0, 0, 1, "SYNCH12");

printf("P1 chay xong ! \n\n");
printf("Bam phim bat ky de P2 chay tiep:");
getch();

ReleaseSemaphore(semSynch, 1, 0);

return 0;
}

Code P2:
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <windows.h>

HANDLE semSynch;

int main(){

semSynch=CreateSemaphore(0, 0, 1, "SYNCH12");

printf("Dang cho P1 chay truoc...\n\n");
WaitForSingleObject(semSynch, INFINITE);

printf("P2 chay xong !\n\n");
semSynch=CreateSemaphore(0, 0, 1, "SYNCH23");
printf("Bam phim bat ky de P3 chay tiep:");
getch();

ReleaseSemaphore(semSynch,1,0);

return 0;
}

Code P3:
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <windows.h>

HANDLE semSynch;

int main(){

semSynch=CreateSemaphore(0, 0, 1, "SYNCH23");

printf("Dang cho P2 chay truoc...\n\n");
WaitForSingleObject(semSynch, INFINITE);

printf("Bam phim bat ky de thoat:");
getch();

return 0;
}

Chúc các bạn thành công. Idea

vhoanghung

Tổng số bài gửi : 76
Join date : 19/03/2009
Age : 39
Đến từ : Ho Chi Minh

Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết