tailieunhanh - Bài giảng Công nghệ lập trình tích hợp: Chương 6 - TS. Nguyễn Quang Uy

Bài giảng Công nghệ lập trình tích hợp: Chương 6 Sử dụng đa luồng trong lập trình mạng, cung cấp cho người đọc những kiến thức như: Cơ bản về luồng; Sử dụng luồng trong Java; Đa luồng trong lập trình mạng; Lock và deaklock; Đồng bộ hóa luồng; Non-blocking Server; . Mời các bạn cùng tham khảo! | Chương 6 Sử dụng đa luồng trong lập trình mạng 1 Mục lục chương 1. Cơ bản về luồng 2. Sử dụng luồng trong Java 3. Đa luồng trong lập trình mạng 4. Lock và deaklock 5. Đồng bộ hóa luồng 6. Non-blocking Server 2 Cơ bản về luồng Một luồng thread là một dòng điểu khiển trong một chương trình Không giống như một tiến trình process một luồng không được cấp phát riêng một vùng nhớ mà dùng chung vùng nhớ với chương trình chính Điều này có nghĩa là nếu như chương trình server có nhiều yêu cầu kết nối đến thì việc sử dụng thread sẽ giúp server không bị hết tài nguyên 3 Cơ bản về luồng Trong thực tế khi bất kỳ một chương trình Java nào được thực hiện thì một luông luôn được tạo ra Thread đó là thread chính main thread được tạo ra khi hàm main được thực hiện và được hủy bỏ khi hàm main kết thúc Nếu chương trình của ta tạo ra thêm các hàm khác thì chương trình đó được gọi là đa luồng multithread Khi máy tính có chỉ có một CPU thì các thread chỉ được thực hiện tuần tự 4 Sử dụng luồng trong Java Java là ngôn ngữ hỗ trợ lập trình đa luồng đầy đủ mà không phải gọi bất kỳ một hàm API nào Tuy nhiên việc sử dụng luồng trong lập trình Java tương đối phức tạo đỏi hỏi sự cố gắng của lập trình viên 5 Sử dụng luồng trong Java Trong java có hai cách để tạo ra các luông đó là Tạo ra một lớp thừa kế từ lớp Thread Tạo ra một lớp không thừa kế từ lớp Thread nhưng cài đặt giao tiếp Runnable 6 Thừa kế lớp Thread Phương thức run của lớp Thread chỉ ra hành động là Thread được thực hiện. Tuy nhiên cũng như phương thức main phương thức run có thể không được gọi ra một cách trực tiếp. Ta có thể gọi đến phương thức start và phương thức này sẽ tự động gọi đến phương thức run. 7 Thừa kế lớp Thread Lớp Thread có 7 hàm tạo và hai hàm tạo được sử dụng phổ biết nhất là Thread Thread String Nếu gọi hàm thứ 2 thì ta cần chỉ ra tên của thread Nếu gọi hàm thứ nhất thì tên của thread sẽ là Thread-n 8 Thừa kế lớp Thread Phương thức getName có thể được sử dụng để nhận lại tên của Thread Thread firstThread new .