
LẬP TRÌNH ĐA TUYẾN
Thông tin tài liệu:
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ìm kiếm theo từ khóa liên quan:
kỹ thuật máy tính giáo trình lập trình ngôn ngữ C++ lập trình C++ ngôn ngữ lập trìnhTài liệu có liên quan:
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 313 0 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 306 0 0 -
Bài thuyết trình Ngôn ngữ lập trình: Hệ điều hành Window Mobile
30 trang 292 0 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 246 0 0 -
Bài giảng Một số hướng nghiên cứu và ứng dụng - Lê Thanh Hương
13 trang 245 0 0 -
Giáo trình Lập trình cơ bản với C++: Phần 1
77 trang 241 0 0 -
Giáo án Tin học lớp 11 (Trọn bộ cả năm)
125 trang 230 1 0 -
Bài tập lập trình Windows dùng C# - Bài thực hành
13 trang 204 0 0 -
Thiết kế mạch logic bằng Verilog - HDL
45 trang 193 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 188 0 0 -
Giáo trình Lập trình C căn bản: Phần 1
64 trang 174 0 0 -
Báo cáo thực tập: Quản lý nhân sự & tiền lương
52 trang 160 0 0 -
Giáo trình nhập môn lập trình - Phần 22
48 trang 143 0 0 -
LUẬN VĂN: ỨNG DỤNG NGÔN NGỮ LẬP TRÌNH RÀNG BUỘC COMET VÀO BÀI TOÁN LẬP THỜI KHÓA BIỂU
43 trang 141 0 0 -
Giáo trình Lập trình C căn bản - HanoiAptech Computer Education Center
136 trang 141 0 0 -
142 trang 134 0 0
-
Giáo trình lập trình hướng đối tượng - Lê Thị Mỹ Hạnh ĐH Đà Nẵng
165 trang 128 0 0 -
Giáo trình môn xử lý tín hiệu số - Chương 5
12 trang 125 0 0 -
Bài giảng Phương pháp lập trình: Chương 9 - GV. Từ Thị Xuân Hiền
36 trang 119 0 0 -
Giáo trình Ngôn ngữ lập trình 2
50 trang 114 0 0