Danh mục

Lập trình Java căn bản - Chương 9 THREADS

Số trang: 25      Loại file: pdf      Dung lượng: 259.09 KB      Lượt xem: 10      Lượt tải: 0    
Thư viện của tui

Xem trước 3 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Quá trình (process) là trạng thái tức thời của một chương trình đang chạy trên máy tính. Nó bao gồm bộ nhớ cần thiết để chạy chương trình (không gian địa chỉ của quá trình) và khả năng kiểm soát hiện trạng của bộ xử lý trong quá trình thực thi chương trình (tiến trình điều khiển của quá trình).
Nội dung trích xuất từ tài liệu:
Lập trình Java căn bản - Chương 9 THREADS Chương 9- THREADSM c tiêuSau chương này b n có th Đ nh nghĩa ñư c lu ng (thread) là gì. Hi u ña lu ng là gì? Bi t cách t o lu ng trong Java. Hi u v nhu c u ñ ng b (synchronize) các lu ng. Bi t cách dùng wait() và notify() ñ giao ti p gi a các lu ng. 1N i dung9.1- Ôn t p.9.2- Lu ng và ña lu ng9.3- Lu ng trong Java9.4- Tr ng thái c a lu ng9.5- L p trình lu ng trong Java9.6- Đ ưu tiên c a lu ng9.7- Đ ng b gi a các lu ng9.8- Deadlock9.9- Cơ ch Ch -nh n bi t9.10- Tóm t t9.1- Ôn t p Gói AWT cung c p các l p cho ta xây d ng GUI nhưng các l p này s d ng các h tr ph thu c platform. L p Graphics và Graphics2D trong gói AWT cho ta các công c v hình và xu t file nh. L p Applet và JApplet cung c p kh năng t o các ng d ng nh c a Java nhúng vào trang Web và chúng ñư c th c thi trong Browser. appletviewer cho phép ch y m t Java applet mà không c n ñ n Browser. 29.2- Lu ng và ña lu ng Lu ng- thread: M t dòng các l nh mà CPU ph i th c thi. Các h ñi u hành m i cho phép nhi u lu ng ñư c th c thi ñ ng th i. Chúng ta ñã quen v i vi c m nhi u ng d ng trong 1 l n làm vi c v i máy tính Nhi u ng d ng ñư c n p. Như v y – M t lu ng là m t chu i các l nh n m trong b nh ( chương trình ñã ñư c n p). – 1 application thông thư ng khi th c thi là 1 lu ng. – Trong 1 application có th có nhi u lu ng. Thí d chuy n ñ ng c a 10 ñ i tư ng hi n hành trong 1 trò chơi là 10 lu ng.K thu t ña lu ng V i máy có m CPU ch y m lu ng M i CPU ch y 1 lu ng Hi u qu . V i máy có m CPU ch y n lu ng v i n>> m M i CPU ch y n/m lu ng. V i 1 CPU ch y ñ ng th i k lu ng v i k>1. Các lu ng ñư c qu n lý b ng 1 hàng ñ i, m i lu ng ñư c c p phát th i gian mà CPU th c thi là ti (cơ ch time-slicing – phân chia tài nguyên th i gian). Lu ng ñ nh hàng ñ i ñư c l y ra ñ th c thi trư c, sau ti th i gian c a mình, lu ng này ñư c ñưa vào cu i hàng ñ i và CPU l y ra lu ng k ti p. V i máy ch có 1 CPU mà l i ch y k lu ng Hi u su t m i chương trình s kém. 3L i ích c a ña lu ng Tăng hi u su t s d ng CPU: Ph n l n th i gian th c thi c a 1 ng d ng là ch ñ i nh p li u t user hi u su t s d ng CPU chưa hi u q a. T o ñư c s ñ ng b gi a các ñ i tư ng: Thí d như trong 1 trò chơi, các nhân v t cùng nhau chuy n ñ ng. Trong 1 trang Web, t o ñư c s ñ ng th i c a các ñư ng di m (marquee) như thanh tiêu ñ ñ ng (banner, ch , nh ch y), v a hi n th ñ ng h , v a phát nh c, v a chơi game, v a ho t nh (animated images),… Trang Web th t b t m t (eye-catching) và quy n rũ (captivating). Qu n lý ñư c th i gian trong các ng d ng như thi online, th i gian chơi m t trò chơi.9.3- Lu ng trong Java Main thread - lu ng chính : là lu ng ch a các lu ng khác. Đây chính là lu ng cho Java. Application hi n hành (m c toàn application). Child thread - lu ng con : là lu ng ñư c t o ra t lu ng khác. Khi 1 application th c thi, main thread ñư c ch y, khi g p các phát bi u phát sinh lu ng con, các lu ng con ñư c kh i t o. Vào th i ñi m lu ng chính k t thúc, application k t thúc. Java cung c p l p Thread mô t 1 lu ng trong gói java.lang 49.4- Tr ng thái c a lu ng Sinh ra (Born) H t th i gian ng new Thread() S n sàng ( Ready ) notify() notify() start() Đang ch Ng 1 lúc B t m hoãn B khóa ( Waiting ) ( Sleeping ) ( Suspended ) ( Blocked ) run() wait() sleep() wait() Đang ch y ( Running ) khi ch các bi n stop() hay ch y xong c như xu t/nh p Hành vi ñ bu c Đã ch t lu ng chuy n ( Dead ) tr ng tháiTr ng thái c a lu ng M t lu ng sau khi sinh ra (born) không ñư c ch y ngay mà ch là s n sàng (ready) ch y. Ch khi nào phương th c start() ñư c g i thì lu ng m i th c thi (ch y code phương th c run()). Lu ng ñang th c thi có th b t m ngưng b ng phương th c sleep() m t th i kho ng và s l i ready sau khi ñáo h n th i gian. Lu ng ñang ng không s d ng tài nguyên CPU. Khi nhi u lu ng cùng ñư c th c thi, n u có 1 lu ng gi tài nguyên mà không nh ra s làm cho các lu ng khác không dùng ñư c tài nguyên này (ñói tài nguyên). Đ tránh tình hu ng n ...

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