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
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 ...
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ìm kiếm theo từ khóa liên quan:
Java cơ bản Lập trình Java Tin học cơ sở Kỹ thuật lập trình Ngôn ngữ lập trình Tin học căn bản Bài giảng tin họcGợi ý tài liệu liên quan:
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 271 0 0 -
Bài thuyết trình Ngôn ngữ lập trình: Hệ điều hành Window Mobile
30 trang 263 0 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 262 0 0 -
Bài giảng Tin học lớp 11 bài 1: Giới thiệu ngôn ngữ lập trình C#
15 trang 235 0 0 -
Giáo trình Lập trình cơ bản với C++: Phần 1
77 trang 230 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 221 0 0 -
Giáo án Tin học lớp 11 (Trọn bộ cả năm)
125 trang 214 1 0 -
Sửa lỗi các chức năng quan trọng của Win với ReEnable 2.0 Portable Edition
5 trang 210 0 0 -
Xử lý tình trạng máy tính khởi động/tắt chậm
4 trang 209 0 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 203 0 0