Bài giảng "Lập trình đa tiểu trình (Multithread programming)" trình bày nội dung về cách thức tạo ra và thực thi tiểu trình, nội dung quản lí tiểu trình,. Để biết rõ hơn về nội dung chi tiết, mời các bạn tham khảo. | Lập trình đa Tiểu Trình Multithread programming TS. Lê Minh Trung Khoa CNTT, Đại học Sư phạm TPHCM Bài giảng môn: Hệ Điều Hành These slides are intended to help a teacher develop a presentation. This PowerPoint covers the entire chapter and includes too many slides for a single delivery. Professors are encouraged to adapt this presentation in ways which are best suited for their students and environment. 1 Vòng đời của thread Vùng tên (Namespace) using System; using ; Tạo ra và thực thi tiểu trình Tạo ra một tiểu trình Yêu cầu tiểu trình thực thi một hàm Thread A = new Thread(FunctionA); // tạo ra tiểu trình A, chỉ ra hàm tiểu trình sẽ thực thi ( ); // chạy tiểu trình A static void Main(string[] args) { Thread A = new Thread(WriteA); Thread B = new Thread(new ThreadStart(WriteB)); Thread C = new Thread(WriteC); (); (); (); (); //wait for pressing any key } static void WriteC() { for (int i = 0; i < 100; i++) . | Lập trình đa Tiểu Trình Multithread programming TS. Lê Minh Trung Khoa CNTT, Đại học Sư phạm TPHCM Bài giảng môn: Hệ Điều Hành These slides are intended to help a teacher develop a presentation. This PowerPoint covers the entire chapter and includes too many slides for a single delivery. Professors are encouraged to adapt this presentation in ways which are best suited for their students and environment. 1 Vòng đời của thread Vùng tên (Namespace) using System; using ; Tạo ra và thực thi tiểu trình Tạo ra một tiểu trình Yêu cầu tiểu trình thực thi một hàm Thread A = new Thread(FunctionA); // tạo ra tiểu trình A, chỉ ra hàm tiểu trình sẽ thực thi ( ); // chạy tiểu trình A static void Main(string[] args) { Thread A = new Thread(WriteA); Thread B = new Thread(new ThreadStart(WriteB)); Thread C = new Thread(WriteC); (); (); (); (); //wait for pressing any key } static void WriteC() { for (int i = 0; i < 100; i++) ("C"); } static void WriteA() { for (int i = 0; i < 100; i++) ("A"); } static void WriteB() { for (int i = 0; i < 100; i++) ("B"); } Tiểu trình thực hiện hàm có tham số Dùng delegate để thực thi hàm có tham số Thread A = new Thread(delegate() { Write('A', 100); }); static void Write(char ch, int nrTimes) { for (int i = 0; i < nrTimes; i++) { (ch); (100); //ngủ trong 100ms } } static void Main(string[] args) { Thread A = new Thread(delegate() { Write('A', 100);}); Thread B = new Thread(delegate() { Write('B', 100);}); Thread C = new Thread(delegate() { Write('C', 100);}); (); (); (); (); } static void Write(char ch, int nrTimes) { for (int i = 0; i < nrTimes; i++) { (ch); (100); //tạm dừng trong 100ms } } Tiểu trình thực hiện hàm có tham số Tiểu trình thực hiện hàm có tham số Quản lí tiểu trình Tạm dừng tiểu trình (int time); Tạm dừng tiểu trình hiện tại trong time .