Giải thích đoạn mã
3 posters
Trang 1 trong tổng số 1 trang
Giải thích đoạn mã
#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.
// 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
Re: Giải thích đoạn mã
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
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)
- "//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.
#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)
- "//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.
Re: Giải thích đoạn mã
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
Similar topics
» Thi Kiểm tra Giữa kỳ Lần 1+
» Giải thích đoạn code (tham khảo)
» Giải thích đoạn mã sau!
» Thi Kiểm tra Giữa kỳ Lần 3
» hôm này chúng ta ôn tập lại cách giải thich đoan mã tiến trình
» Giải thích đoạn code (tham khảo)
» Giải thích đoạn mã sau!
» Thi Kiểm tra Giữa kỳ Lần 3
» hôm này chúng ta ôn tập lại cách giải thich đoan mã tiến trình
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