Danh mục tài liệu

LẬP TRÌNH ĐA TUYẾN

Số trang: 55      Loại file: ppt      Dung lượng: 978.00 KB      Lượt xem: 21      Lượt tải: 0    
Xem trước 6 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Hệ điều hành đa nhiệm cổ điển:Đơn vị cơ bản sử dụng CPU là quá trình (process). Quá trình là đoạn chương trình độc lập đã được nạp vào bộ nhớ.Mỗi quá trình thi hành một ứng dụng riêng.Mỗi quá trình có một không gian địa chỉ và một không gian trạng thái riêng.Các quá trình liên lạc với nhau thông qua HĐH, tập tin, mạng.
Nội dung trích xuất từ tài liệu:
LẬP TRÌNH ĐA TUYẾNLẬPTRÌNHĐATUYẾN Giới Thiệu• Hệ điều hành đa nhiệm cổ điển: – Đơn vị cơ bản sử dụng CPU là quá trình (process). – Quá trình là đoạn chương trình độc lập đã được n ạp vào bộ nhớ. – Mỗi quá trình thi hành một ứng dụng riêng. – Mỗi quá trình có một không gian địa chỉ và một không gian trạng thái riêng. – Các quá trình liên lạc với nhau thông qua HĐH, tập tin, mạng. Giới Thiệu• Tuyến là mạch thi hành độc lập của một tác vụ trong chương trình.• Một chương trình có nhiều tuyến thực hiện cùng lúc gọi là đa tuyến. 3 Giới Thiệu• Hệ điều hành đa nhiệm hiện đại, hỗ trợ luồng: – Đơn vị cơ bản sử dụng CPU là luồng (thread). – Luồng một đoạn các câu lệnh được thi hành. – Mỗi quá trình có một không gian địa chỉ và nhiều luồng điều khiển. – Mỗi luồng có bộ đếm chương trình, trạng thái các thanh ghi và ngăn xếp riêng. – Luồng của một quá trình có thể chia sẻ nhau không gian địa ch ỉ : Biến toàn cục, tập tin, chương trình con, hiệu báo, . . . – Luồng chia sẻ thời gian sử dụng CPU => Luồng cũng có các trạng thái: Sẵn sàng (ready), Đang chạy (running), Nghẽn(Block) nh ư quá trình. – Luồng cung cấp cơ chế tính toán song song trong các ứng dụng. Chương trình đơn tuyến class ABC { …. public void main(..) begin { … body .. end } }5 Đa tuyến• Là khả năng làm việc với nhiều tuyến• Đa tuyến chuyên sử dụng cho việc thực thi nhiều công việc đồng thời• Đa tuyến giảm thời gian rỗi của hệ thống đến mức thấp nhất. A Multithreaded Program Main Thread start start start Thread A Thread B Thread C7 Các thread có thể chuyển đổi dữ liệu với nhau Cơ Chế Thi HànhClient Thread Runnable new(runnable) Init a new thread start() run() Runs in a new doTheStuff() control flow Returns immediately Thread is finished Ứng Dụng Multithreading PrintingThread PrintingThreadEditingThreadEditingThread9 Multithreaded Server Client1Process ServerProcess Server Threads  Internet Client2Process10Web/Internet Applications PC client Internet Server Local Area Network PDA 11 Lập trình đa tuyến với Java• Cách thực hiện – Sử dụng lớp «interface» Runnable 1 java.lang.Thread +run() public class Thread extends Object { … } Thread – Sử dụng giao diện +currentThread() : Thread +isInterrupted() : bool java.lang.Runnable +sleep(in millis : long) : long +yield() public interface Runnable { +isAlive() +join() +interrupt() public void run(); // work ⇒ +start() +stop() thread } Lớp java.lang.Thread• Luồng trong java là một đối tượng của lớp java.lang.Thread• Một chương trình cài đặt luồng bằng cách tạo ra các lớp con của lớp Thread.• Lớp Thread có 3 phương thức cơ bản: – public static synchronized void start() : • Chuẩn bị mọi thứ cần thiết để thực hiện luồng. – public void run(): • Chứa mã lệnh thực hiện công việc thực sự của luồng. • run() được gọi một cách tự động bởi start(). – public void stop() : kết thúc một luồng. – Luồng kết thúc khi: – Hoặc tất cả các lệnh trong run() đã được thực thi. – Hoặc phương thức stop() của luồng được gọi. Tạo và quản lý tuyến• Khi chương trình Java thực thi hàm main() tức là tuyến main được thực thi. Tuyến này được tạo ra một cách tự động. tại đây : - Các tuyến con sẽ được tạo ra từ đó - Nó là tuyến cuối cùng kết thúc việc thực hiện. Trong chốc lát tuyến chính ngừng thực thi, chương trình bị chấm dứt• Tuyến có thể được tạo ra bằng 2 cách: – Dẫn xuất từ lớp Thread – Dẫn xuất từ Runnable. Tạo thread sử dụng lớp Thread • Cài đặt lớp kế thừa từ lớp Thread và override phương thức run() class MyThread extends Thread { public void run() { // thread body of execution } } • Tạo thread: MyThread thr1 = new MyThread(); • Thi hành thread: thr1.start(); • Tạo và thi hành thread: new MyThread().start();15 Một số phương thức của Thread• void sleep(long millis); // ngủ• void yield(); // nhường điều khiển• void interrupt(); // ngắt tuyến• void join(); // yêu cầu chờ kết thúc• void suspend(); // deprecated• void resume(); // deprecated• void stop(); // deprecated 16 Ví dụ về đa tuyến (tt)classPrintThreadextendsThread{ privateintsleepTime; publi ...

Tài liệu được xem nhiều:

Tài liệu có liên quan: