Đang chuẩn bị nút TẢI XUỐNG, xin hãy chờ
Tải xuống
Quá trình (process) là trạng thái tức thời của một chương trình đang chạy trên máy tính. Nó bao gồm bộ nhớ cần thiết để chạy chương trình (không gian địa chỉ của quá trình) và khả năng kiểm soát hiện trạng của bộ xử lý trong quá trình thực thi chương trình (tiến trình điều khiển của quá trình). | Chương 9- THREADS Mục tiêu Sau chương này bạn có thể Định nghĩa được luồng thread là gì. Hiểu đa luồng là gì Biết cách tạo luồng trong Java. Hiểu về nhu cầu đồng bộ synchronize các luồng. Biết cách dùng wait và notify để giao tiếp giữa các luồng. 1 Nội dung 9.1- Ôn tập. 9.2- Luồng và đa luồng 9.3- Luồng trong Java 9.4- Trạng thái của luồng 9.5- Lập trình luồng trong Java 9.6- Độ ưu tiên của luồng 9.7- Đồng bộ giữa các luồng 9.8- Deadlock 9.9- Cơ chế Chờ-nhận biết 9.10- Tóm tắt 9.1- Ôn tập I Gói AWT cung cấp các lớp cho ta xây dựng GUI nhưng các lớp này sử dụng các hỗ trợ phụ thuộc platform. I LỚp Graphics và Graphics2D trong gói AWT cho ta các công cụ ve hình và xuất file ảnh. I Lớp Applet và JApplet cung cấp khả năng tạo các ứng dụng nho của Java nhúng vào trang Web và chúng được thực thi trong Browser. appletviewer cho phép chạy một Java applet mà không cần đến Browser. 2 9.2- Luồng và đa luồng J Luồng- thread Một dòng các lệnh mà CPU phải thực thi. J Các hệ điều hành mới cho phép nhiều luồng được thực thi đồng thời. Chúng ta đã quen với việc mở nhiều ứng dụng trong 1 lần làm việc với máy tính - Nhiều ứng dụng được nạp. -I Như vậy - Một luồng là một chuỗi các lệnh nằm trong bộ nhớ chương trình đã được nạp . - 1 application thông thường khi thực thi là 1 luồng. - Trong 1 application có thể có nhiều luồng. Thí dụ chuyển động của 10 đối tượng hiện hành trong 1 trò chơi là 10 luồng. Kỹ thuật đa luồng n Với máy có m CPU chạy m luồng Mỗi CPU chạy 1 luồng 4 Hiệu quả. n Với máy có m CPU chạy n luồng với n m Mỗi CPU chạy n m luồng. I Với 1 CPU chạy đồng thời k luồng với k 1. Các luồng được quản lý bằng 1 hàng đợi mỗi luồng được cấp phát thời gian mà CPU thực thi là ti cơ chế time-slicing -phân chia tài nguyên thời gian . Luồng ở đỉnh hàng đợi được lấy ra để thực thi trước Sau ti thời gian của mình luồng này được đưa vào cuối hàng đợi và CPU lấy ra luồng kế tiếp. 1.1 Với máy chỉ có 1 CPU mà lại chạy k luồng Hiệu suất mỗi chương trình sẽ kém.