Nguyên Lý Tập Luồng Và Ví Dụ Minh Họa

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

Nguyên Lý Tập Luồng Và Ví Dụ Minh Họa

Bài gửi  lethianhnhat_I12A on 28/3/2012, 23:30

- Tiến trình cha tạo lập sẵn một tập luồng khi khởi động.
- Các tập trong tập luồng luôn sẵn sàng chờ công việc.
- Khi tiến trình cha nhận thêm một yêu cầu, một luồng đươc đánh thức và đưa vào vận hành.
- Phục vụ xong, luồng được đưa trả về tập luồng.
- Nếu số yêu cầu lớn hơn luồng trong tập, tiến trình cha chờ đến khi có luồng được giải phóng.
Ví dụ:
Tổng đài trực điện thoại mobifone , có nhiều nhân viên trực điện thoại ( nhân viên là các luồng con ), số nhân viên tương ứng với số luồng trong tập luồng, cùng làm việc trong 1 văn phòng ( cùng chung 1 bộ nhớ ), mỗi nhân viên trực 1 điện thoại ( tức là mỗi luồng điều khiển 1 CPU ), do đó luồng có khả năng đáp ứng cao, khi không có cuộc gọi đến của khách hàng thì nhân viên không làm việc ( luồng đang ở trạng thái ngủ ), khi có cuộc gọi đến của khách hàng thì nhân viên trả lời cuộc gọi (luồng được đánh thức và đưa vào vận hành ) và kết thúc cuộc gọi của khách hàng, nhân viên được nghỉ ( tức là luồng quay trạng thái ban đầu, trạng thái ngủ ) .

lethianhnhat_I12A

Tổng số bài gửi : 14
Join date : 18/02/2012
Age : 29
Đến từ : Kbang - Kbang - Gia lai

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Nguyên Lý Tập Luồng Và Ví Dụ Minh Họa

Bài gửi  trantrungnam-HC11TH2A on 30/3/2012, 09:33

Tạo và quản lý luồng
Khi các chương trình Java được thực thi, luồng chính đã đang được thực hiện. Hai yếu tố quan trong luồng chính (main) là:

♦ Các luồng con sẽ được tạo ra từ nó.

♦ Nó là luồng cuối cùng kết thúc việc thực hiện. Ngay khi luồng chính ngừng thực thi, chương trình bị chấm dứt.

Cho dù luồng chính được tạo ra một cách tự động với chương trình thực thi, nó có thể được điều khiển thông qua một đối tượng luồng.

Các luồng có thể được tạo ra từ hai cách:

♦ Khai báo lớp là lớp con của lớp Thread, và phương thức run() của lớp Thread cần được định nghĩa đè.

Thời gian biểu luồng
Hầu hết các chương trình Java là đa luồng. Nhưng CPU chỉ có khả năng thực thi một luồng tại một thời điểm. Khi có nhiều hơn một luồng có cùng mức ưu tiên thực thi trong cùng một thời điểm thì người lập trình, hoặc máy ảo Java, hoặc hệ điều hành đảm bảo rằng CPU được chia sẻ giữa chúng. Điều này được gọi là điều khiển luồng (thời gian biểu luồng).

Không có máy ảo Java nào có cơ chế cụ thể cho việc điều khiển luồng. Một số môi trường Java hổ trợ việc chia nhỏ thời gian. Ở đây, mỗi luồng nhận một phần nhỏ của thời gian bộ vi xử lý, được gọi là định lượng (quantum). Luồng có thể thực thi tác vụ của chính nó trong suốt khoảng thời gian được cấp đấy. Sau khoảng thời gian này, luồng phải tạm dừng thực hiện, ngay cả khi nó chưa hoàn thành. Luồng kế tiếp có cùng quyền ưu tiên sẽ sử dụng bộ vi xử lý trong khoảng thời tiép theo. Java điều khiển việc chia nhỏ thời gian giữa tất cả các luồng có cùng mức ưu tiên.

Phương thức setPriority() có một tham số kiểu số nguyên dùng để đặt mức ưu tiên của luồng. Đây là giá trị nằm trong khoảng 1 đến 10, mặc khác, phương thức có thể gây ra ngoại lệ IllegalArgumentException.

Phương thức yield() tam dừng luồng và tạo khả năng cho các luồng khác một một cơ hội được thực thi. Phương thức này thích hợp cho các hệ thống không chia sẻ thời gian (non-time-sliced), nơi mà các luồng hiện thời hoàn thành việc thực hiện trước khi các luồng có quyền ưu tiên ngang nhau kế tiếp tiếp được thực thi. Ở đây, bạn sẽ gọi phương thức yield() tại những khoảng thời gian riêng biệt để có thể tất cả các luồng có quyền ưu tiên ngang nhau chia sẻ thời gian thực thi CPU.

trantrungnam-HC11TH2A

Tổng số bài gửi : 68
Join date : 21/02/2012
Age : 27
Đến từ : binh phuoc

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Nguyên Lý Tập Luồng Và Ví Dụ Minh Họa

Bài gửi  HuynhMinhChanh(i91C) on 4/4/2012, 17:20

Bổ sung thêm ví dụ thực tế có ứng dụng Pools :

Trong IIS (Web Server). Mỗi kết nối đến website đều được thông qua pools để hồi đáp.
Trong SQL Server.

Các pools chủ yếu hoạt động dựa trên tài nguyên RAM của hệ thống. Việc cấp pháp pools tùy thuộc vào tài nguyên hệ thống.

HuynhMinhChanh(i91C)

Tổng số bài gửi : 47
Join date : 02/03/2012

Xem lý lịch thành viên

Về Đầu Trang Go down

Re: Nguyên Lý Tập Luồng Và Ví Dụ Minh Họa

Bài gửi  Sponsored content


Sponsored content


Về Đầu Trang Go down

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang

- Similar topics

 
Permissions in this forum:
Bạn không có quyền trả lời bài viết