Các nhóm luồng

Các chương trình thường thực hiện với một số luồng nhất định. Sẽ hiệu quả hơn nếu có thể phân loại chúng theo chức năng. Chúng ta hãy xét trinh duyệt IE (Internet Explore). Nếu có nhiều luồng đang yêu cầu nạp các bức ảnh về từ máy chủ (Server) và người sừ dụng nhấn nút “stop” đề dừng nạp ờ trang hiện thời thi nó sẽ dừng đồng thời tất cả các luồng. Java hồ trợ để bạn có thể tạo ra các nhóm luồng để có thể làm việc đồng thời với chúng như sau.

String grName = “ThreadGroup”;

ThreadGroup g = new ThreadGroup(grName);

Sau đó bạn có thể tạo ra các luồng và đưa chúng vào nhóm đã được thiết lập.

Thread t = new Thread(g, threadName);

Đẻ kiểm tra xem trong nhóm g có một luồng nào dang hoạt động thi sừ dụng hàm activeCount().

if(q.activeCount0 = 0){

// rất cả các luồng trong g đã kết thúc

javalang.ThrcadGroup 

  • ThreadGroup (String name) tạo ra một nhóm mới có tên là
  • ThreadGrouptThreadGroup parent, Strinu name) tạo ra một nhóm name là con của nhóm parent.
  • int activeCount () trả lại số các luồng đang hoạt dộng trong nhóm.
  • int enumerate (Thread[] list) đặt tham chiếu tới từng luồng hoạt động trong nhóm. Bạn có thể sử dụng activeCount0 để biết dược cỡ cùa
  • ThreadGroup getParent () xác định cha của nhóm hiện thời.
  • void interrupt 0 dừng tất cả các luồng trong nhóm và tất cả các nhóm con của nó.

javalang.Thread

  • Thread(ThreadGroup g, strìng name) tạo ra luồng name và đặt váo nhóm
  • ThreadGroup getThreadGroup 0 xác định nhóm chứa luồng hiện thời.