Review: Cycle of Thread

Một phần của tài liệu lập trình mạng chapter 6 java tcp (Trang 69)

X, tuyến đoạn sẽ chờ vô hạn.

Review: Cycle of Thread

 Khi cần phải xử lý với nhiều Threads -> cần phải tổ chức dạng mảng… -> việc xử lý nhiều.

 Nhóm các tuyến đoạn với nhau: áp dụng một thao tác

trên nhóm mà không phải thực hiện thao tác trên từng tuyến đoạn riêng lẻ.

 Java API hỗ trợ khả năng làm việc với các nhóm

tuyến đoạn nhờ lớp ThreadGroup.

 biểu diễn một tập hợp các tuyến đoạn,

 và cung cấp các phương thức tác động nhanh trên từng tuyến đoạn riêng trong nhóm.

 Nó còn cung cấp các cách thức để tập hợp các thông tin về các tuyến đoạn có liên quan nói chung.

ThreadGroup

Constructor:

 public ThreadGroup(String name) throws java.lang.SecurityException

Tạo ra một nhóm tuyến đoạn mới, có tên được xác định bởi name.

ThreadGroup(ThreadGroup parentGroup,String name) throws java.lang.SecurityException

Tạo ra một nhóm tuyến đoạn mới name là nhóm con của ParentGroup

Ex:

ThreadGroup parent = new ThreadGroup("parent");

ThreadGroup subgroup = new ThreadGroup(parent, "sub");

ThreadGroup

Sử dụng một ThreadGroup

 Một nhóm tuyến đoạn có thể được sử dụng như một tuyến đoạn bình thường.

 Ta có thể tạm dừng, phục hồi, ngắt hoặc dừng nhóm tuyến đoạn bằng cách gọi phương thức thích hợp.

Các phương thức

 int activeCount(): trả về số tuyến đoạn trong nhóm, và các nhóm con.

 int activeGroupCount(): trả về số nhóm con các tuyến đoạn

 boolean allowThreadSuspension(): chỉ ra tuyến đoạn bị tạm ngừng hay không.

ThreadGroup

public class GroupDemo implements Runnable{

public static void main(String args[]) throws Exception {

ThreadGroup parent = new ThreadGroup("parent");

ThreadGroup subgroup = new ThreadGroup(parent, "subgroup");

Thread t1 = new Thread ( parent, new GroupDemo() ); t1.start(); (adsbygoogle = window.adsbygoogle || []).push({});

Thread t2 = new Thread ( parent, new GroupDemo() ); t2.start();

Thread t3 = new Thread ( subgroup, new GroupDemo() ); t3.start();

Thread t4 = new Thread ( subgroup, new GroupDemo() ); t4.start();

// Dump the contents of the group to System.out

parent.list(); System.exit(0); }

public void run(){

while (true) { Thread.yield(); } }

}

Ex: ThreadGroup

Một phần của tài liệu lập trình mạng chapter 6 java tcp (Trang 69)