Tài liệu Chương 6: Lập trình đa luồng pptx

31 703 3
Tài liệu Chương 6: Lập trình đa luồng pptx

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Java Object-Oriented Programming  Giảng viên :  Email  Website  : : Nguyễn Đức Hiển ndhien@udn.vn Thời lượng  Lý thuyết :  Thực hành + thảo luận : Nguyễn Đức Hiển – Bài giảng Lập trình Java tín (30 tiết) tín Chương Lập trình đa luồng (Multi-Thread Programming) Nguyễn Đức Hiển – Bài giảng Lập trình Java Nội dung Giới thiệu luồng (thread)  Cách tạo luồng Java  Đồng hóa luồng  Nguyễn Đức Hiển – Bài giảng Lập trình Java Giới thiệu  Một luồng (thread) gì?  Một “dịng điều khiển " chương trình  Các chương trình thường có dịng điều khiển  Với luồng, bạn có nhiều dịng điều khiển thực lúc chương trình  Ví dụ: Xem xét xử lý từ  Bạn soạn thảo văn nhấn nút lưu trữ  Nó lượng thời gian đáng kể để lưu liệu đĩa, tất điều thực với luồng tách biệt (background)  Không có luồng, ứng dụng bị treo bạn lưu file không đáp ứng thao tác lưu hoàn thành Nguyễn Đức Hiển – Bài giảng Lập trình Java Luồng Java  Khi chương trình Java thực thi hàm main() tức tạo luồng (luồng main) Trong luồng main:  Có thể tạo luồng  Chương trình phải đảm bảo main luồng kết thúc cuối  Khi luồng main ngừng thực thi, chương trình kết thúc  Luồng tạo cách:  Tạo lớp dẫn xuất từ lớp Thread  Tạo lớp thực giao tiếp Runnable Nguyễn Đức Hiển – Bài giảng Lập trình Java Tạo luồng Trong Java có sẵn lớp Thread Để tạo luồng ta tạo lớp thừa kế (extends) lớp Thread ghi đè phương thức run()  Ví dụ:  Nguyễn Đức Hiển – Bài giảng Lập trình Java Chạy luồng  Tạo thể lớp Thread (hoặc dẫn xuất nó) gọi phương thức start() Khi gọi myThread.start() luồng tạo chạy phương thức run() myThread  myThread.start() trả gần  Nguyễn Đức Hiển – Bài giảng Lập trình Java Bài tập Bài Tạo luồng: luồng hiển thị số chẳn, luồng hiển thị số lẻ  Bài Tạo luồng: luồng hiển thị số nguyên tố, luồng hiển thị số hoàn thiện  Nguyễn Đức Hiển – Bài giảng Lập trình Java Giao tiếp Runnable Ngoài tạo luồng cách thừa kế từ lớp Thread, có cách khác để tạo luồng Java  Bạn tạo luồng cách tạo lớp thực giao tiếp Runnable định nghĩa phương thức:   public  abstract void run() Điều đặc biệt hữu ích bạn muốn để tạo đối tượng Thread muốn sử dụng lớp sở khác Thread Nguyễn Đức Hiển – Bài giảng Lập trình Java Ví dụ Nguyễn Đức Hiển – Bài giảng Lập trình Java 10 Một số phương thức khác  Phương thức interrupt()  Đặt  trạng thái luồng ngắt (không ngừng hẳn luồng) Phương thức interrupted()  Phương thức trả lại giá trị boolean cho biết trạng thái ngắt quãng luồng thời  Phương thức đặt lại trạng thái luồng thời thành không ngắt  Kết hợp sử dụng hai phương thức dùng làm phương pháp yêu cầu luồng nhượng bộ, ngủ kết thúc Nguyễn Đức Hiển – Bài giảng Lập trình Java 17 Sự đồng hóa  Trường hợp nhiều luồng truy cập tài nguyên đồng thời  Đọc/ghi file  Sửa đổi đối tượng/biến … Trong trường hợp này, bạn phải cẩn thận phối hợp thao tác để tài nguyên kết thúc trạng thái an toàn  Java có sẵn chế cho phối hợp  đồng hóa luồng  Nguyễn Đức Hiển – Bài giảng Lập trình Java 18 Bài tốn Producer/Consumer Có hai luồng, sản xuất tiêu thụ hai truy cập môt đối tượng CubbyHole (chổ ấm áp)  CubbyHole đối tượng đơn giản lưu giữ giá trị đơn nội dung  Luồng sản xuất phát sinh ngẫu nhiên giá trị cất giữ chúng đối tượng CubbyHole  Luồng tiêu thụ lấy giá trị chúng sinh luồng sản xuất  Nguyễn Đức Hiển – Bài giảng Lập trình Java 19 Lớp CubbyHole Nguyễn Đức Hiển – Bài giảng Lập trình Java 20 ... – Bài giảng Lập trình Java Luồng Java  Khi chương trình Java thực thi hàm main() tức tạo luồng (luồng main) Trong luồng main:  Có thể tạo luồng  Chương trình phải đảm bảo main luồng kết thúc.. .Chương Lập trình đa luồng (Multi-Thread Programming) Nguyễn Đức Hiển – Bài giảng Lập trình Java Nội dung Giới thiệu luồng (thread)  Cách tạo luồng Java  Đồng hóa luồng  Nguyễn... giảng Lập trình Java Giới thiệu  Một luồng (thread) gì?  Một “dịng điều khiển " chương trình  Các chương trình thường có dịng điều khiển  Với luồng, bạn có nhiều dịng điều khiển thực lúc chương

Ngày đăng: 12/12/2013, 20:15

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan