intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

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

Chia sẻ: Kiếp Này Bình Yên | Ngày: | Loại File: PPT | Số trang:54

82
lượt xem
6
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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.

Chủ đề:
Lưu

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

  1. LẬP TRÌNH ĐA TUYẾN & MÔ HÌNH CLIENT - SERVER 1
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. Dẫn xuất từ lớp Thread (tt) 9
  10. Ứ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
  11. 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
  12. 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
  13. 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
  14. Cài đặt lớp ClockThreadApplication 14
  15. Phương thức getTime 15
  16. 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
  17. Đ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
  18. 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
  19. 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
  20. 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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2