Bài giảng Lập trình nâng cao: Chương 7 Thread và đồng bộ, cung cấp cho người học những kiến thức như: Lý do sử dụng Thread; Cách sử dụng Thread; Khai báo và khởi tạo thread; Vòng đời của thread; Một số phương thức của Thread; Sử dụng thread trong winform;...Mời các bạn cùng tham khảo!
TRƯỜNG ĐẠI HỌC THỦY LỢI Khoa CNTT – Bộ môn CNPM LẬP TRÌNH NÂNG CAO Thread đồng Thread đồng Lý sử dụng Thread • Xét tốn: – Viết chương trình tìm tất số nguyên tố, số phương, số hoàn chỉnh, số amstrong, số lẻ, số chẵn … nhỏ tỷ • Thực hiện: – Có thể tìm chúng lúc vịng lặp – Hoặc tìm loại số … Thread đồng Lý sử dụng Thread • Tuy nhiên, làm dễ thấy máy bị chậm chương trình bị treo máy tính bạn có đa nhân (2 nhân: Dual Core, nhân: Quad Core, nhân: Hexa Core, nhân: Octo Core, 10 nhân: Deca Core) Thread đồng Lý sử dụng Thread • Để tận dụng hết hiệu máy tính, cần chia nhỏ chương trình thành nhiều phần, phần xử lý nhân • => Thread Thread đồng Cách sử dụng Thread • • • • Chia nhỏ toán lớn thành toán Mỗi toán nhỏ hàm riêng biệt Tạo thread Gán cho thread thực thi nhiệm vụ Thread đồng Khai báo khởi tạo thread • Khai báo thư viện: using System.Threading; • Khai báo thread: Thread ;//tạo thread rỗng • Khởi tạo thread; = new Thread(new ThreadStart()); Thread đồng Khai báo khởi tạo thread • Một thread khai báo đối tượng rỗng • Hàm khởi tạo thread hàm cần truyền vào delegate ThreadStart tham chiếu đến hàm có kiểu void khơng có tham số Thread đồng Vịng đời thread • Vịng đời thread thực nhiệm vụ đến kết thúc nhiệm vụ • Trong vịng đời thread có số trạng thái: – – – – Trạng thái chưa khởi động Trạng thái khởi động Trạng thái dừng Trạng thái chết Thread đồng Vòng đời thread • Khi thể lớp Thread tạo, bắt đầu trạng thái chưa khởi động • Sử dụng lệnh Start() để khởi động thread • Để kết thúc thread chạy, sử dụng lệnh Abort() Thread đồng 10 Ví dụ sử dụng Thread • Ví dụ: Thread đồng 11 Một số phương thức Thread • Join(): Cho phép thread kết nối vào chuỗi thread hoạt động, dừng thread chạy để thực thread kết nối • Thread.Sleep(n): dừng thread chạy vòng n minigiây Thread đồng 12 Bài tập • Viết hai chương trình (1 chương trình dùng thread chương trình khơng dùng thread) thực gọi hàm: – – – – Xuất hình số nguyên tố