Đa nhiệm và đa tuyến trong Java
Lập trình Java Cao Đức Thơng - Trần Minh Tuấn cdthong@ifi.edu.vn, tmtuan@ifi.edu.vn Bài Multithreading • Đa nhiệm đa tuyến • Tạo lập sử dụng tuyến • Lớp Thread • Giao tiếp Runnable • • • • Đồng hố tuyến Tuyến ma Nhóm tuyến Bài tập Đa nhiệm (multitasking) • Đa nhiệm kỹ thuật cho phép nhiều công việc thực lúc máy tính • Nếu có nhiều CPU, cơng việc thực song song CPU Trong trường hợp nhiều công việc chia sẻ CPU, phần công việc CPU thực xen kẽ Đa nhiệm (multitasking) Task Task Task Nhiều công việc thi hành CPU Đa nhiệm (multitasking) • Hai kỹ thuật đa nhiệm • Đa tiến trình (Process-based multitasking): Nhiều chương trình chạy đồng thời Mỗi chương trình có vùng liệu độc lập • Đa tuyến (Thread-based multitasking): Một chương trình có nhiều tuyến chạy đồng thời Các tuyến dùng chung vùng liệu chương trình Tuyến đa tuyến • Tuyến mạch thi hành độc lập tác vụ chương trình • Một chương trình có nhiều tuyến thực lúc gọi đa tuyến program program Tạo tuyến • Tuyến Java đối tượng • Có hai cách để tạo tuyến • Thừa kế từ lớp java.lang.Thread • Cài đặt giao tiếp java.lang.Runnable Cách 1: Kế thừa từ Thread Tạo lớp MyThread kế thừa từ Thread nạp chồng phương thức run() lớp Thread Tạo thực thi tuyến class MyThread extends Thread { … public void run() { … } } Thread th1 = new MyThread(); Thread th2 = new MyThread(); th1.start(); th2.start(); Cách 1: Kế thừa từ Thread • Khi tuyến tạo ra, cần gọi start() để đặt tuyến trạng thái sẵn sàng Tiếp theo hệ thống thực thi câu lệnh run() tuyến • Tuyến kết thúc làm hết lệnh run() stop() gọi Tạo tuyến Tạo tuyến MyThread th1 = new MyThread(); MyThread th2 = new MyThread(); … th1.start(); th2.start(); … Sẵn sàng bắt đầu thực thi tuyến 10 ...Bài Multithreading • Đa nhiệm đa tuyến • Tạo lập sử dụng tuyến • Lớp Thread • Giao tiếp Runnable • • • • Đồng hố tuyến Tuyến ma Nhóm tuyến Bài tập Đa nhiệm (multitasking) • Đa nhiệm kỹ thuật cho... Các tuyến dùng chung vùng liệu chương trình Tuyến đa tuyến • Tuyến mạch thi hành độc lập tác vụ chương trình • Một chương trình có nhiều tuyến thực lúc gọi đa tuyến program program Tạo tuyến • Tuyến. .. CPU Trong trường hợp nhiều công việc chia sẻ CPU, phần công việc CPU thực xen kẽ Đa nhiệm (multitasking) Task Task Task Nhiều công việc thi hành CPU Đa nhiệm (multitasking) • Hai kỹ thuật đa nhiệm