TAILIEUCHUNG - 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 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. | 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ỹ Linh phuonglh@ Khoa Toán-Cơ-Tin học Trường Đại học Khoa học Tự nhiên Hà Nội Nội dung ● Tiếp tục cải tiến chương trình liệt kê các số nguyên tố trong bài giảng trước: – Lập trình đa luồng trong ứng dụng đồ họa: ● ● Luồng đồ họa Luồng công việc – Sử dụng ProgressMonitor – Sử dụng SwingWorker – Sử dụng PropertyChangeListener 2012-2013 Object-Oriented Programming: Collections 2 Nguyên tắc tách luồng ● Khi lập trình các ứng dụng có giao diện đồ họa, ta cầ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ối sự kiện: Event Dispatch Thread – EDT. Mọi ứng dụng đồ họa đều chạy trong một luồng đồ họa. 2012-2013 Object-Oriented Programming: Collections 3 Nguyên tắc tách luồng ● ● ● Trong chương trình liệt kê số nguyên tố ở bài giảng trướ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ủa chương trình không hoạt động: – Người dùng không thể chọn thực đơn hay thực hiện bấ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-2013 Object-Oriented Programming: Collections 4 Nguyê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 giao diệ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ệc chạy xong, có kết quả toàn bộ mới thực hiện cập nhật đồ họa. – 2012-2013 Cập nhật dần dần giao diện, sử dụng kết quả .

Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.