Bài giảng Bài 9: Tiếp tục cải tiến chương trình đồ họa liệt kê các số nguyên tố
Số trang: 20
Loại file: pdf
Dung lượng: 175.19 KB
Lượt xem: 10
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng Bài 9: Tiếp tục cải tiến chương trình đồ họa liệt kê các số nguyên tố sau đây được biên soạn nhằm trang bị cho các bạn những kiến thức về lập trình đa luồng trong ứng dụng đồ họa, sử dụng ProgressMonitor, sử dụng SwingWorker, sử dụng PropertyChangeListener.
Nội dung trích xuất từ tài liệu:
Bài giảng Bài 9: Tiếp tục cải tiến chương trình đồ họa liệt kê các số nguyên tốBài 9: Tiếp tục cải tiến chương trìnhđồ họa liệt kê các số nguyên tốLê Hồng Phương,Nguyễn Việt Hùng, Hà Mỹ Linhphuonglh@gmail.comKhoa Toán-Cơ-Tin họcTrường Đại học Khoa học Tự nhiên Hà NộiNội dung●Tiếp tục cải tiến chương trình liệt kê các số nguyêntố trong bài giảng trước:–Lập trình đa luồng trong ứng dụng đồ họa:●●Luồng đồ họaLuồng công việc–Sử dụng ProgressMonitor–Sử dụng SwingWorker–Sử dụng PropertyChangeListener2012-2013Object-Oriented Programming: Collections2Nguyên tắc tách luồng●Khi lập trình các ứng dụng có giao diện đồ họa, tacần chú ý nguyên tắc tách luồng:––●Luồng đồ họa: vẽ, cập nhật các thành phần đồhọa, nhận các sự kiện bấm phím, kích chuột...Luồng công việc: sử dụng để chạy các tác vụcần nhiều thời gian để thực hiện.Chú ý: luồng đồ họa còn được gọi là luồng phân phốisự kiện: Event Dispatch Thread – EDT. Mọi ứngdụng đồ họa đều chạy trong một luồng đồ họa.2012-2013Object-Oriented Programming: Collections3Nguyên tắc tách luồng●●●Trong chương trình liệt kê số nguyên tố ở bài giảngtrước, ta không tách luồng.Nếu người dùng nhập vào số n lớn cỡ hàng trăm triệu thìtác vụ liệt kê số nguyên tố sẽ mất nhiều thời gian.Trong thời gian chờ tính toán, giao diện đồ họa củachương trình không hoạt động:–Người dùng không thể chọn thực đơn hay thực hiệnbất kì công việc nào khác trên giao diện.–Lí do: luồng đồ họa đang bận tính toán!2012-2013Object-Oriented Programming: Collections4Nguyên tắc tách luồng●Ta cần cải tiến chương trình với cách giải quyết cơ bản:––●Viết một luồng công việc có nhiệm vụ liệt kê các sốnguyên tố, chạy tách riêng khỏi luồng đồ họa.Khi nào luồng công việc thực hiện xong nhiệm vụ, trảvề kết quả thì sẽ thực hiện cập nhật kết quả trên giaodiện bằng luồng đồ họa.Trong thực tế, không nhất thiết phải chờ luồng công việcchạy xong, có kết quả toàn bộ mới thực hiện cập nhật đồhọa.–2012-2013Cập nhật dần dần giao diện, sử dụng kết quả trunggian → Tăng tính tương tác của chương trình.Object-Oriented Programming: Collections5
Nội dung trích xuất từ tài liệu:
Bài giảng Bài 9: Tiếp tục cải tiến chương trình đồ họa liệt kê các số nguyên tốBài 9: Tiếp tục cải tiến chương trìnhđồ họa liệt kê các số nguyên tốLê Hồng Phương,Nguyễn Việt Hùng, Hà Mỹ Linhphuonglh@gmail.comKhoa Toán-Cơ-Tin họcTrường Đại học Khoa học Tự nhiên Hà NộiNội dung●Tiếp tục cải tiến chương trình liệt kê các số nguyêntố trong bài giảng trước:–Lập trình đa luồng trong ứng dụng đồ họa:●●Luồng đồ họaLuồng công việc–Sử dụng ProgressMonitor–Sử dụng SwingWorker–Sử dụng PropertyChangeListener2012-2013Object-Oriented Programming: Collections2Nguyên tắc tách luồng●Khi lập trình các ứng dụng có giao diện đồ họa, tacần chú ý nguyên tắc tách luồng:––●Luồng đồ họa: vẽ, cập nhật các thành phần đồhọa, nhận các sự kiện bấm phím, kích chuột...Luồng công việc: sử dụng để chạy các tác vụcần nhiều thời gian để thực hiện.Chú ý: luồng đồ họa còn được gọi là luồng phân phốisự kiện: Event Dispatch Thread – EDT. Mọi ứngdụng đồ họa đều chạy trong một luồng đồ họa.2012-2013Object-Oriented Programming: Collections3Nguyên tắc tách luồng●●●Trong chương trình liệt kê số nguyên tố ở bài giảngtrước, ta không tách luồng.Nếu người dùng nhập vào số n lớn cỡ hàng trăm triệu thìtác vụ liệt kê số nguyên tố sẽ mất nhiều thời gian.Trong thời gian chờ tính toán, giao diện đồ họa củachương trình không hoạt động:–Người dùng không thể chọn thực đơn hay thực hiệnbất kì công việc nào khác trên giao diện.–Lí do: luồng đồ họa đang bận tính toán!2012-2013Object-Oriented Programming: Collections4Nguyên tắc tách luồng●Ta cần cải tiến chương trình với cách giải quyết cơ bản:––●Viết một luồng công việc có nhiệm vụ liệt kê các sốnguyên tố, chạy tách riêng khỏi luồng đồ họa.Khi nào luồng công việc thực hiện xong nhiệm vụ, trảvề kết quả thì sẽ thực hiện cập nhật kết quả trên giaodiện bằng luồng đồ họa.Trong thực tế, không nhất thiết phải chờ luồng công việcchạy xong, có kết quả toàn bộ mới thực hiện cập nhật đồhọa.–2012-2013Cập nhật dần dần giao diện, sử dụng kết quả trunggian → Tăng tính tương tác của chương trình.Object-Oriented Programming: Collections5
Tìm kiếm theo từ khóa liên quan:
Chương trình đồ họa liệt kê Cải tiến chương trình đồ họa liệt kê Đồ họa liệt kê các số nguyên tố Lập trình đa luồng Cách sử dụng ProgressMonitor Cách sử dụng SwingWorkerGợi ý tài liệu liên quan:
-
Bài giảng Lập trình mạng: Chương 3 - Lê Bá Vui
20 trang 19 0 0 -
31 trang 18 0 0
-
Bài giảng Lập trình mạng: Chương 4 - Lê Bá Vui
74 trang 17 0 0 -
Lập trình Java căn bản - Chương 2 Ngôn ngữ JAVA
12 trang 16 0 0 -
Lập trình Java căn bản - Chương 6 Lập trình menu với AWT ( tiếp)
15 trang 16 0 0 -
Kỹ thuật lập trình java nâng cao: Phần 1
217 trang 15 0 0 -
Lập trình Java căn bản - Giới thiệu
11 trang 15 0 0 -
Bài giảng Lập trình Java: Chương 7 - Lập trình đa luồng
33 trang 11 0 0 -
Tăng tốc độ phát hiện dị thường trên ảnh đa phổ và siêu phổ ứng dụng trong tìm kiếm cứu nạn
13 trang 11 0 0 -
Lập trình Java căn bản - Chương 1 Tổng quan về java
13 trang 10 0 0