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.

Giải thích đoạn mã

3 posters

Go down

Giải thích đoạn mã Empty Giải thích đoạn mã

Bài gửi  HaVietAnh(I92C) 23/11/2010, 22:06

#define BUFFER_SIZE 50
// khai bao mot mang BUFFER_SIZE voi 50 phan tu
HANDLE semEmpty ,semFull;
// khai bao hai den hieu semEmpty ,va semFull co kieu du lieu HANDLE
semEmpty=CreateSemaphore(0,BUFFER_SIZE,BUFFER_SIZE,"SemEmpty")
//Ham CreateSemaphore dung de thiet lap gia tri ban dau cho bien den hieu //semEmpty
semEmpty=CreateSemaphore(0,BUFFER_SIZE,BUFFER_SIZE,"SemEmpty")
//Ham CreateSemaphore dung de thiet lap gia tri ban dau cho bien den hieu
semFull.
WaitForSinglePbject(semEmpty,INFINITE);
Printf("semEmpty Handle=%d",semEmpty):
WaitForSinglePbject(semEmpty,INFINITE);
Printf("semEmpty Handle=%d",semEmpty):
// 4 lenh sau cung nay dung de tao ra 2 doi tuojg den hieu voi gia tri da //thiet lap ban dau va xuat hai doi tuong den hieu nay ra man hinh

Admin
Trả lời thế này thì không được điểm.

HaVietAnh(I92C)

Tổng số bài gửi : 62
Join date : 14/09/2010

Về Đầu Trang Go down

Giải thích đoạn mã Empty Re: Giải thích đoạn mã

Bài gửi  nguyenvanchinh 23/11/2010, 23:37

Theo mình đoạn code trên được viết và giải thích như sau
#define BUFFER_SIZE 50
//Định ngĩa mảng Buffer_size với số phần tử =50;
HANDLE semEmpty ,semFull;
//Khai báo 2 đèn hiệu semEmpty và semFull có kiểu dữ liệu HANDLE
semEmpty=CreateSemaphore(0,BUFFER_SIZE,BUFFER_SIZE,"SemEmpty")
/*Hàm này tạo đèn hiệu có tên SemEmpty với giá trị ban đầu và giá trị tối đa = Buffer_size. Sau khi đèn hiệu này được tạo thì mục quản của nó được giữ bởi biến semEmpty được khai báo ở trên.*/
semFull =CreateSemaphore(0,BUFFER_SIZE,BUFFER_SIZE," semFull ")
/*Hàm này tạo đèn hiệu có tên semFull với giá trị ban đầu và giá trị tối đa = Buffer_size. Sau khi đèn hiệu này được tạo thì mục quản của nó được giữ bởi biến semFull được khai báo ở trên.*/
WaitForSinglePbject(semEmpty,INFINITE);
//chờ mãi mãi cho tới khi đèn hiệu SemEmpty bật xanh
Printf("semEmpty Handle=%d",semEmpty);
//in mục quản của đèn hiệu semEmpty ra màn hình
WaitForSinglePbject(semFull,INFINITE);
//chờ mãi mãi cho tới khi đèn hiệu semFull bật xanh
Printf("semEmpty Handle=%d", semFull);
//in mục quản của đèn hiệu semFull ra màn hình

HaVietAnh(I92C) đã viết:#define BUFFER_SIZE 50
// khai bao mot mang BUFFER_SIZE voi 50 phan tu
HANDLE semEmpty ,semFull;
// khai bao hai den hieu semEmpty ,va semFull co kieu du lieu HANDLE
semEmpty=CreateSemaphore(0,BUFFER_SIZE,BUFFER_SIZE,"SemEmpty")
//Ham CreateSemaphore dung de thiet lap gia tri ban dau cho bien den hieu //semEmpty
semEmpty=CreateSemaphore(0,BUFFER_SIZE,BUFFER_SIZE,"SemEmpty")
//Ham CreateSemaphore dung de thiet lap gia tri ban dau cho bien den hieu
semFull.
WaitForSinglePbject(semEmpty,INFINITE);
Printf("semEmpty Handle=%d",semEmpty):
WaitForSinglePbject(semEmpty,INFINITE);
Printf("semEmpty Handle=%d",semEmpty):
// 4 lenh sau cung nay dung de tao ra 2 doi tuojg den hieu voi gia tri da //thiet lap ban dau va xuat hai doi tuong den hieu nay ra man hinh

Nhận xét:
theo mình ở trên đây bạn việt Anh mắc một số lỗi sau:
- bạn tạo 2 đèn hiệu semEmpty (có lẽ bạn muốn tạo đèn hiệu semEmpty và SemFull nhưng viết nhầm) Shocked
- "//Ham CreateSemaphore dung de thiet lap gia tri ban dau cho bien den hieu
semFull." đây là hàm tạo đèn hiệu chứ không phải là hàm thiết lập giá trị ban đầu
- "// 4 lenh sau cung nay dung de tao ra 2 doi tuojg den hieu voi gia tri da //thiet lap ban dau va xuat hai doi tuong den hieu nay ra man hinh" 4 câu lệnh này không phải dùng để tạo 2 đối tượng đèn hiệu mà chúng chờ đèn hiệu bật xanh rồi in ra màn hình.

Trên đây là một số ý kiến của mình (có thể đó không hẳn đã đúng) mong các bạn bàn luận thêm. Question

nguyenvanchinh

Tổng số bài gửi : 19
Join date : 12/10/2010
Age : 38
Đến từ : I92C

http://tobuy.vn

Về Đầu Trang Go down

Giải thích đoạn mã Empty Re: Giải thích đoạn mã

Bài gửi  HaXuanTruong(I92C) 24/11/2010, 10:25

Mình nhớ là bài này đã có bạn post rồi mà. Và thầy cũng đã giải thích luôn rồi. Hai bạn tìm lại mấy bài trước đây xem sao.

HaXuanTruong(I92C)

Tổng số bài gửi : 40
Join date : 14/09/2010

Về Đầu Trang Go down

Giải thích đoạn mã Empty Re: Giải thích đoạn mã

Bài gửi  Sponsored content


Sponsored content


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