Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 4 của 4
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Có 2 cách giải quyết :
    - Tạo một đối tượng bất kỳ, thread 1 lock đối tượng đó, thread 2 bị lock và buộc phải chờ thread 1 xong.
    - Dùng WaitHandle.

    Tuy nhiên, mình nghĩ nếu bạn đã làm multithread mà lại cho thread này chờ thread kia xong thì tốt nhất đừng làm thread, làm bình thường có khi còn nhanh hơn.

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi meoconlongvang
    Có 2 cách giải quyết :
    - Tạo một đối tượng bất kỳ, thread 1 lock đối tượng đó, thread 2 bị lock và buộc phải chờ thread 1 xong.
    - Dùng WaitHandle.

    Tuy nhiên, mình nghĩ nếu bạn đã làm multithread mà lại cho thread này chờ thread kia xong thì tốt nhất đừng làm thread, làm bình thường có khi còn nhanh hơn.
    Thanks mecon[IMG]images/smilies/2.gif[/IMG]. Tại tính làm màu mè mà ai dè phức tạp.
    Tiện thể giúp cho mình cái ManualResetEvent để pause và resume 1 thread. MSDN khó hiểu quá[IMG]images/smilies/dont_know.gif[/IMG]

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    ManualResetEvent ko phải để pause hay resume thread. Nó dùng để đồng bộ giữa nhiều thread. Khi các thread khác muốn dừng lại chờ một thread thì sẽ gọi hàm WaitOne(). Hàm này sẽ ko trả về khi thread được chờ ko gọi hàm Set(). Nếu bạn muốn pause/resume thread thì ko liên quan gì đến ManualResetEvent cả. Thread có sẵn 2 hàm Suspend() và Resume() đó.

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •