Khi làm với WinForms, .Net luôn có sẵn một Thread gọi là Main/UI Thread để dành cho việc hiển thị GUI (windows and its controls) trên màn hình.
Theo đề bài của bạn. Từ Winform tạo ta 10 thread chạy và có thể pause và resume. Cho nên solution cho vấn đề này sẽ cần System.Threading namepsace. (Mình không biết bạn đang dùng .Net Framework version mấy nhưng System.Threading luôn luôn có). Sau đó bạn tìm hiểu 2 đối tượng sau:
- ManualResetEvent: Giúp quản lý tiến trình chạy của Thread (có thể pause và resume)
- ThreadPool: Giúp quản lý 10 Threads bạn đang tạo tránh trường hợp "đụng chạm" với thằng Main/UI thread của WinForms (nó sẽ thường làm windows unresponsive ngay).
Code ví dụ:
Mã:
class Program
{
private static Dictionary<int, ThreadInfo> threads = new Dictionary<int, ThreadInfo>();
static void Main(string[] args)
{
if (!threads.ContainsKey(index))
{
// Chay 1 thread moi
var thread = new Thread(RunThread);
thread.Start();
var mres = new ManualResetEvent(true);
var info = new ThreadInfo { Thread = thread, ProceedSignal = mres };
threads.Add(index, info); // index from 0 -> 10
}
else
{
ThreadInfo info = threads[index];
if (info.ProceedSignal.Wait(0))
{
// Thread dang chay, pause lai. (Event is signaled)
info.Signal.Reset();
}
else
{
// Thread đang dừng, resume. (Event is unsignaled)
info.ProceedSignal.Set();
// Change the button image here.
}
}
}
private class ThreadInfo
{
Thread Thread { get; set; }
ManualResetEvent Signal { get; set; }
}
}
Cái này là code "chay" fox viết trên này. Bạn đừng có copy paste rồi chạy ko được lại khóc nha. Cái này là gợi ý, bạn đã có keywords, hãy tự tìm hiểu tiếp. Có gì không hiểu thì lên đây mô tả"THẬT RÕ RÀNG", mình sẽ cố gắng giúp!
Trứng rung điều khiển từ xa Vibrator Spark Of Love Sản phẩm trứng rung bluetooth có điều khiển từ xa này được thiết kế với tông màu Rose Gold viền kim khí trải qua. kích tấc 7,4cm x 3,5cm giúp trứng...
TOP 3 trùy rung điều khiển từ xa...