ĐA LUỒNG (Multithreading)

22 307 2
ĐA LUỒNG (Multithreading)

Đ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

ĐA LUỒNG (Multithreading) - trong lập trình hướng đối tượng

Chương ĐA LUỒNG (Multithreading) Mục tiêu: Sau kết thúc chương này, bạn có thể:  Định nghĩa luồng (thread)  Mô tả đa luồng  Tạo quản lý luồng  Hiểu vòng đời luồng  Mô tả luồng hiểm (daemon thread)  Giải thích thiết lập luồng ưu tiên  Giải thích cần thiết đồng  Hiểu cách áp dụng vào từ khoá đồng (how to apply synchronized keywords)  Liệt kê điểm yếu đồng  Giải thích vai trị phương thức wait() (đợi), notify() (thông báo) notifyAll()  Mô tả điều kiện bế tắc (deadlock condition) 8.1 Giới thiệu Một luồng thuộc tính Java Nó đơn vị nhỏ đoạn mã thi hành mà thực công việc riêng biệt Ngôn ngữ Java máy ảo Java hai hệ thống đươc phân luồng 8.2 Đa luồng Java hổ trợ đa luồng, mà có khả làm việc với nhiều luồng Một ứng dụng bao hàm nhiều luồng Mỗi luồng đăng ký công việc riêng biệt, mà chúng thực thi đồng thời với luồng khác Đa luồng giữ thời gian nhàn rỗi hệ thống thành nhỏ Điều cho phép bạn viết chương trình có hiệu cao với tận dụng CPU tối đa Mỗi phần chương trình gọi luồng, luồng định nghĩa đường dẫn khác thực Đây thiết kế chuyên dùng đa nhiệm Trong đa nhiệm, nhiều chương chương trình chạy đồng thời, chương trình có luồng Một vi xử lý thực thi tất chương trình Cho dù xuất mà chương trình thực thi đồng thời, thực tế vi xử lý nhảy qua lại tiến trình 8.3 Tạo quản lý luồng Khi chương trình Java thực thi, luồng ln ln thực Đây nguyên nhân quan trọng luồng chính:  Các luồng tạo từ  Nó luồng cuối kết thúc việc thực Trong chốc lát luồng ngừng thực thi, chương trình bị chấm dứt Cho dù luồng tạo cách tự động với chương trình thực thi, điều khiển thông qua luồng đối tượng Đa luồng (Multithreading) 15 Các luồng tạo từ hai đường:  Trình bày lớp lớp lớp luồng, nơi mà phương thức run() lớp luồng cần ghi đè Lấy ví dụ: Class Mydemo extends Thread { //Class definition public void run() { //thực thi } }  Trình bày lớp mà lớp thực lớp Runnable Rồi định nghĩa phương thức run() Class Mydemo implements Runnable { //Class definition public void run() { //thực thi } } Chương trình 8.1 điều khiển luồng Chương trình 8.1 import java.io.*; public class Mythread extends Thread{ /** * Mythread constructor comment */ public static void main(String args[]){ Thread t = Thread.currentThread(); System.out.println("The current Thread is :" + t); t.setName("MyJavaThread"); System.out.println("The thread is now named: " + t); try{ for(int i = 0; i

Ngày đăng: 22/08/2012, 10:13

Hình ảnh liên quan

Hình 8.1 Luồng - ĐA LUỒNG (Multithreading)

Hình 8.1.

Luồng Xem tại trang 3 của tài liệu.
Hình 8.3 Vòng đời của luồng - ĐA LUỒNG (Multithreading)

Hình 8.3.

Vòng đời của luồng Xem tại trang 4 của tài liệu.
Kết quả hiển thị như hình 8.4 - ĐA LUỒNG (Multithreading)

t.

quả hiển thị như hình 8.4 Xem tại trang 6 của tài liệu.
Hình 8.5 Đa luồng với Applet - ĐA LUỒNG (Multithreading)

Hình 8.5.

Đa luồng với Applet Xem tại trang 8 của tài liệu.
Kết quả hiện thị như hình cho dưới đây: - ĐA LUỒNG (Multithreading)

t.

quả hiện thị như hình cho dưới đây: Xem tại trang 11 của tài liệu.
Hình 8.6 Kết quả hiện thị của chương trình 8.4 - ĐA LUỒNG (Multithreading)

Hình 8.6.

Kết quả hiện thị của chương trình 8.4 Xem tại trang 11 của tài liệu.
Hình 8.8 Kết quả sau mỗi lần kích chuột - ĐA LUỒNG (Multithreading)

Hình 8.8.

Kết quả sau mỗi lần kích chuột Xem tại trang 16 của tài liệu.
Hình 8.9 Sự bế tắt - ĐA LUỒNG (Multithreading)

Hình 8.9.

Sự bế tắt Xem tại trang 18 của tài liệu.
Kết quả xuất ra màn hình của chương trình trên như sau: - ĐA LUỒNG (Multithreading)

t.

quả xuất ra màn hình của chương trình trên như sau: Xem tại trang 20 của tài liệu.
2. Viết một chương trình mà hiển thị như hình dưới đây: - ĐA LUỒNG (Multithreading)

2..

Viết một chương trình mà hiển thị như hình dưới đây: Xem tại trang 23 của tài liệu.

Từ khóa liên quan

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

Tài liệu liên quan