tailieunhanh - Bài giảng Công nghệ Java: Chương 7 - Trần Quang Diệu
Bài giảng Công nghệ Java: Chương 7, trình bày các nội dung sau: Luồng và đa luồng, luồng trong Java, trạng thái của luồng, lập trình luồng trong Java, độ ưu tiên của luồng, đồng bộ giữa các luồng, Deadlock, cơ chế Chờ-nhận biết,. | CÔNG NGHỆ JAVA CH7. THREADS – TIẾN TRÌNH Quang Dieu Tran PhD Nội dung 1- Luồng và đa luồng 2- Luồng trong Java 3- Trạng thái của luồng 4- Lập trình luồng trong Java 5- Độ ưu tiên của luồng 6- Đồng bộ giữa các luồng 7- Deadlock 8- Cơ chế Chờ-nhận biết 9- Tóm tắt Luồng và đa luồng Luồng- thread: Một dòng các lệnh mà CPU phải thực thi. 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. 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 Với máy có m CPU chạy m luồng Mỗi CPU chạy 1 luồng Hiệu quả. 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. 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. 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. Lợi ích của đa luồng Tăng hiệu suất sử dụng CPU: Phần lớn thời gian thực thi của 1 ứng dụng là chờ đợi nhập liệu từ user hiệu suất sử dụng CPU chưa hiệu qủa. Tạo được sự đồng bộ giữa các đối tượng: Thí dụ như trong 1 trò chơi, các nhân vật cùng nhau chuyển động. Trong 1 trang Web, tạo được sự đồng thời của các đường diềm (marquee) như thanh tiêu đề động (banner, chữ,ảnh chạy), vừa hiển thị đồng hồ, vừa phát nhạc, vừa chơi game, vừa hoạt ảnh (animated images), Trang Web thật bắt mắt (eye-catching) và quyến rũ (captivating). Quản lý được thời gian trong các ứng dụng như thi online, thời gian chơi một trò chơi. Luồng trong Java Main . | CÔNG NGHỆ JAVA CH7. THREADS – TIẾN TRÌNH Quang Dieu Tran PhD Nội dung 1- Luồng và đa luồng 2- Luồng trong Java 3- Trạng thái của luồng 4- Lập trình luồng trong Java 5- Độ ưu tiên của luồng 6- Đồng bộ giữa các luồng 7- Deadlock 8- Cơ chế Chờ-nhận biết 9- Tóm tắt Luồng và đa luồng Luồng- thread: Một dòng các lệnh mà CPU phải thực thi. 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. 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 Với máy có m CPU chạy m luồng Mỗi CPU chạy 1 luồng Hiệu quả. 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. 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 .
đang nạp các trang xem trước