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
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 ...
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ìm kiếm theo từ khóa liên quan:
Lập trình mạng Bài giảng Lập trình mạng Lập trình đa tuyến Mô hình Client - Server Vòng đời của một Thread Lập lịch cho threadGợi ý tài liệu liên quan:
-
Đề cương chi tiết học phần: Mạng máy tính và lập trình mạng
4 trang 137 0 0 -
Báo cáo bài tập lớn môn Mạng máy tính và Lập trình mạng: Tìm hiểu về Soap
32 trang 129 0 0 -
349 trang 122 0 0
-
Bài giảng Lập trình mạng - Chương 1: Giới thiệu Lập trình mạng
18 trang 104 0 0 -
Giáo trình Lập trình mạng: Phần 1 - Trường Đại học Phan Thiết
78 trang 74 0 0 -
Giáo trình Lập trình mạng: Phần 1
54 trang 51 0 0 -
Giáo trình Lập trình mạng - ThS. Văn Thiên Hoàng
201 trang 45 0 0 -
17 trang 41 0 0
-
Tài liệu hệ thống phát hiện xâm nhập
14 trang 29 0 0 -
Lecture Network programming - Chapter 1: Basic Network Concepts (Tran Thi Ha Trang)
28 trang 28 0 0