PDA

View Full Version : C# Application: Quản lý luồng như thế nào?



Monster52
05-05-2006, 15:40
Tôi đang gặp một vấn đề khó khăn trong việc quản lý luồng, Bạn nào biết xin giúp cho:

- Khi đang chạy một luồng (cụ thể là thực hiện một hàm), làm sao để mình dừng hàm tạm dừng giữa chừng ở hàm đó, sau đó chờ một sự kiện khác rồi mới được thực hiện tiếp??
Detailt: Đang chạy giữa chừng một hàm, ta sẽ đợi đến khi có sự kiện Click một nút nào đó thì mới thực hiện tiếp hàm đó??

- Mong các bạn giúp mình, mình đang cần rất gấp.
Thanks!


// Cụ thể có thể hình dung:
Func1(){
while(đk1)
{
Func1();
}
}

Func2(){
Task1;

if(đk2)
WaitUntilButtonCmd_Click();
// Đợi đến khi một sự kiện xảy ra thì mới thực hiện tiếp.
// Hoặc đợi đến khi đk2=false thì mới thực hiện tiếp

Task2;
Task2;
}

PS: Sorry vì dài dòng nhưng mình diễn đạt hơi kém.

hijacker
05-05-2006, 16:28
Tôi đang gặp một vấn đề khó khăn trong việc quản lý luồng, Bạn nào biết xin giúp cho:

- Khi đang chạy một luồng (cụ thể là thực hiện một hàm), làm sao để mình dừng hàm tạm dừng giữa chừng ở hàm đó, sau đó chờ một sự kiện khác rồi mới được thực hiện tiếp??
Detailt: Đang chạy giữa chừng một hàm, ta sẽ đợi đến khi có sự kiện Click một nút nào đó thì mới thực hiện tiếp hàm đó??

- Mong các bạn giúp mình, mình đang cần rất gấp.
Thanks!


// Cụ thể có thể hình dung:
Func1(){
while(đk1)
{
Func1();
}
}

Func2(){
Task1;

if(đk2)
WaitUntilButtonCmd_Click();
// Đợi đến khi một sự kiện xảy ra thì mới thực hiện tiếp.
// Hoặc đợi đến khi đk2=false thì mới thực hiện tiếp

Task2;
Task2;
}

PS: Sorry vì dài dòng nhưng mình diễn đạt hơi kém.

Mình đọc bài bạn hơi khó hiểu một chút, nhưng bạn thử xem một vài đối tượng về phần synchronization như Semaphore, Mutex, Monitor xem sao