VietTuts

Tự Học Lập Trình Online

  • Home
  • Java
  • Servlet
  • JSP
  • Struts2
  • Hibernate
  • Spring
  • MyBatis
  • Java WS
  • C
  • C++
  • Python
  • PHP
  • Eclipse
  • VBA
  • Web
    • JavaScript
    • JQUERY
    • JSON
    • AJAX
    • CSS
    • HTML
    • Node.js
    • Angular 7
  • SQL
    • MySQL
    • SQL Server
  • Misc
    • Phần mềm tiện ích
    • Cấu trúc dữ liệu và giải thuật
    • Học lập trình C#
    • Selenium Test
Java Cơ Bản Các Khái Niệm Java OOPs Java String Xử Lý Ngoại Lệ Các Lớp Lồng Nhau

Đa Luồng (Multithreading)

Java Thread Đa luồng trong java Vòng đởi của Thread Tạo Thread Thread Scheduler Sleep một thread Start một thread hai lần Gọi phương thức run() Phương thức join() Đặt tên cho thread Mức ưu tiên của một Thread Luồng hiểm Thread Pool Thread Group Shutdown Hook Thực hiện nhiều task Garbage Collection Lớp Runtime

Java Synchronization

Phương thức synchronization Khối synchronized Đồng bộ static Deadlock trong java Giao tiep giua cac thread Interrupt một Thread
Java AWT Java Swing Java I/O Ví Dụ Java I/O Lập Trình Mạng Với Java Java Date Chuyển Đối Kiểu Dữ Liệu Java Collections Java JDBC Các Tính Năng Mới Trong Java Bài Tập Java Có Lời Giải Câu Hỏi Phỏng Vấn Java

Thread group trong java


Thread pool trong java
Shutdown Hook trong java

Java cung cấp một cách thuận tiện để nhóm nhiều thread trong một đối tượng duy nhất. Bằng cách đó, chúng ta có thể suspend, resume hoặc interrupt một nhóm các thread bằng việc gọi một phương thức duy nhất.

Ghi chú: hiện tại các phương thức suspend(), resume() và stop() đã bị hủy bỏ (không còn sử dụng nữa).

Thread group trong java được thực hiện bởi lớp java.lang.ThreadGroup

Nội dung chính

  • Các constructor của lớp ThreadGroup
  • Các phương thức quan trọng của lớp ThreadGroup
  • Ví dụ về thread group trong java

Các constructor của lớp ThreadGroup

Chỉ có 2 constructor của lớp ThreadGroup

No.ConstructorDescription
1)ThreadGroup(String name)Tạo một nhóm thread có tên.
2)ThreadGroup(ThreadGroup parent, String name)Tạo một nhóm thread với một nhóm cha và tên.

Các phương thức quan trọng của lớp ThreadGroup

Có nhiều phương thức trong lớp ThreadGroup. Một danh sách các phương thức quan trọng được đưa ra dưới đây.

No.MethodDescription
1)int activeCount()Trả về số no. của các thread đang chạy trong nhóm hiện tại.
2)int activeGroupCount()Trả về số no. của nhóm active trong nhóm thread này.
3)void destroy()Phá hủy nhóm thread này và tất cả các nhóm con của nó.
4)String getName()Trả về tên của nhóm này.
5)ThreadGroup getParent()Trả lại nhóm cha của nhóm này.
6)void interrupt()Ngắt tất cả các thread của nhóm này.
7)void list()In thông tin của nhóm này tới console tiêu chuẩn.

Dưới đây là code để nhóm các thread

ThreadGroup tg1 = new ThreadGroup("Group A");
Thread t1 = new Thread(tg1,new MyRunnable(),"one");
Thread t2 = new Thread(tg1,new MyRunnable(),"two");
Thread t3 = new Thread(tg1,new MyRunnable(),"three");

Bây giờ tất cả 3 thread thuộc về một nhóm. Ở đây, tg1 là tên của thread group, MyRunnable là lớp inplements giao tiếp Runnable và "one", "two" và "three" là các tên luồng.

Bây giờ, chúng ta có thể ngắt tất cả các thread bằng một dòng code duy nhất như sau:

Thread.currentThread().getThreadGroup().interrupt();


Ví dụ về thread group trong java

File: ThreadGroupDemo.java

public class ThreadGroupDemo implements Runnable {
    public void run() {
        System.out.println(Thread.currentThread().getName());
    }

    public static void main(String[] args) {
        ThreadGroupDemo runnable = new ThreadGroupDemo();
        ThreadGroup tg1 = new ThreadGroup("Parent ThreadGroup");

        Thread t1 = new Thread(tg1, runnable, "one");
        t1.start();
        Thread t2 = new Thread(tg1, runnable, "two");
        t2.start();
        Thread t3 = new Thread(tg1, runnable, "three");
        t3.start();

        System.out.println("Thread Group Name: " + tg1.getName());
        tg1.list();
    }
}

Output:

two
Thread Group Name: Parent ThreadGroup
java.lang.ThreadGroup[name=Parent ThreadGroup,maxpri=10]
    Thread[one,5,Parent ThreadGroup]
    Thread[three,5,Parent ThreadGroup]
three
one

Thread pool trong java
Shutdown Hook trong java

Recent Updates

Toán tử dấu 2 chấm (::) trong Java 8Lambda Expression - Biểu thức Lambda trong java 8Bài tập Java - Sắp xếp nhanh (Quick Sort) trong JavaBài tập Java - Sắp xếp chèn (Insertion Sort) trong JavaBài tập Java - Sắp xếp nổi bọt (Bubble Sort) trong JavaBài tập quản lý sinh viên trong JavaHashSet trong javaHashMap trong javaLớp WindowAdapter trong Java SwingLớp MouseMotionAdapter trong Java SwingLớp MouseAdapter trong Java SwingLớp KeyAdapter trong Java Swing

VietTuts on facebook

Học Lập Trình Online Miễn Phí - VietTuts.Vn

Danh sách bài học

Học java
Học servlet
Học jsp
Học Hibernate
Học Struts2
Học Spring
Học SQL

Câu hỏi phỏng vấn

201 câu hỏi phỏng vấn java
25 câu hỏi phỏng vấn servlet
75 câu hỏi phỏng vấn jsp
52 câu hỏi phỏng vấn Hibernate
70 câu hỏi phỏng vấn Spring
57 câu hỏi phỏng vấn SQL

About VietTuts.Vn

Hệ thống bài học trên VietTuts.Vn bao gồm các bài lý thuyết và thực hành về các công nghệ java và công nghệ web. Các bài lý thuyết trên hệ thống VietTuts.Vn được tham khảo và tổng hợp từ các trang http://javatpoint.com, http://www.tutorialspoint.com, http://docs.oracle.com/en …

Scroll back to top

Copyright © 2016 VietTuts.Vn all rights reserved. | VietTuts.Vn team | Liên hệ | Chính sách - riêng tư | sitemap.html | sitemap_index.xml