Danh mục

Bài giảng Lập trình mạng: Chương 4 - ĐH Công nghệ Đồng Nai

Số trang: 54      Loại file: ppt      Dung lượng: 582.00 KB      Lượt xem: 13      Lượt tải: 0    
tailieu_vip

Xem trước 6 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài giảng Lập trình mạng - Chương 4 cung cấp những kiến thức về lập trình đa tuyến và mô hình Client - Server. Chương này trình bày các nội dung sau đây: Khái niệm về thread, tạo ra các thread, vòng đời của một Thread, lập lịch cho thread, đồng bộ hóa các thread.
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình mạng: Chương 4 - ĐH Công nghệ Đồng Nai LẬP TRÌNH ĐA TUYẾN & MÔ HÌNH CLIENT - SERVER 1 MultiThread Programming  Khái niệm về thread  Tạo ra các thread  Lớp Thread  Cài đặt lớp Runnable  Vòng đời của một Thread  Lập lịch cho thread  Đồng bộ hóa các thread 2 Khái niệm về Thread  Chương trình tuyến tính: Có một khởi đầu  Chuỗi các hành động với thứ tự xác định  Một điểm kết thúc  Chỉ có duy nhất một lệnh thực thi tại một thời điểm 3 Khái niệm về thread  Một thread cũng bao gồm các đặc điểm của các chương trình tuyến tính.  Tuy vậy, bản thân thread không phải là một chương trình: Nó không thể tự chạy, mà phải phụ thuộc vào một chương trình 4 Thread: Định nghĩa  Một thread là một dòng điều khiển tuần tự bên trong một chương trình.  Lý do sử dụng thread:  Trong một chương trình có thể có nhiều thread chạy đồng thời, thực thi các tác vụ khác nhau.  Sử dụng nguồn tài nguyên được cấp phát cho tiến trình và nguồn tài nguyên chung trong chương trình (đồng bộ hóa tiến trình). 5 MultiThread Programming  Khái niệm về thread  Tạo ra các thread  Lớp Thread  Cài đặt lớp Runnable  Vòng đời của một Thread  Lập lịch cho thread  Đồng bộ hóa các thread 6 Tạo Thread trong Java  Java cung cấp một giao diện nhất quán cho các thread. Để cài đặt thread:  Cài đặt giao diện Runnable  Dẫn xuất từ lớp Thread, 7 Dẫn xuất từ lớp Thread  Lớp mới tạo có đầy đủ cơ chế của một thread  Cần phải nạp chồng phương thức Run của lớp Thread.  Phương thức run() chứa đoạn mã sẽ được thực hiện tuần tự, nhưng “đồng thời” với các thread khác trong một chương trình. 8 Dẫn xuất từ lớp Thread (tt) 9 Ứng dụng lớp SimpleThread  Chương trình trên minh họa hoạt động của hai Thread thay phiên nhau (mặc dù các lệnh khởi tạo chúng được viết tuần tự).  Ta có thể thêm thread tùy ý. 10 Phương thức RUN của một Thread  Là phương thức ảo (virtual method)  Hoạt động của Thread sẽ kết thúc ngay khi thoát khỏi phương thức run  Cần thiết lập các điều kiện dừng cho thread trong phương thức run  Nếu không, để dừng thread, chúng ta cần phải dùng các phương thức khác như stop hoặc destroy 11 Dùng toàn bộ lớp như một Thread  Ứng dụng SwingApplication hiển thị thời gian và thực hiện các tác vụ khác (trong trường hợp này, là đón nhận và xử lý các sự kiện của người dùng).  Điều này được thực hiện nhờ vào Thread: đoạn mã cập nhật đồng hồ chạy bên trong thread của riêng nó.  Tạo ra một Thread, và sau đó tạo ra một lớp Runnable và gắn vào Thread.  Toàn bộ lớp tồn tại bên trong một Thread và dòng thực thi (stream of execution) được bảo trì bởi thread. 12 Cài đặt giao diện Runnable  Để tạo ra một lớp đối tượng chạy được trong một tiến trình, lớp đối tượng này cài đặt giao diện Runnable.  Lớp SwingApplication cài đặt giao diện Runnable và vì vậy, cài đặt phương thức run định nghĩa trong nó. 13 Cài đặt lớp ClockThreadApplication 14 Phương thức getTime 15 MultiThread Programming  Khái niệm về thread  Tạo ra các thread  Lớp Thread  Cài đặt lớp Runnable  Vòng đời của một Thread  Lập lịch cho thread  Đồng bộ hóa các thread 16 Điều kiểm Thread (Thread Control)  Lớp Thread cung cấp cho người lập trình các công cụ để điều kiểm Thread  1. start  2. stop  5. sleep  6. destroy  7. yield  8. run  9. isAlive 17 Dừng một Thread  Phương thức stop được sử dụng để dừng một Thread vào bất cứ lúc nào. Tuy nhiên, đây là phương thức không an toàn.  Cách làm được khuyến khích là để một Thread “chết tự nhiên”, như phương thức run sau: 18 Thoát an toàn khỏi Thread  Xét lại phương thức run của lớp ClockThreadApplication, để ý hoạt động của nó và điều kiện dừng của vòng lặp 19 Thoát an toàn khỏi Thread (tt)  Đây là một cách sửa đổi đơn giản với phương thức run của lớp ClockThreadApplication. 20 ...

Tài liệu được xem nhiều: