Home » 
        Java programming language
    
    Java ThreadGroup class checkAccess() method with example
    
    
    
            
        ThreadGroup class checkAccess() method: Here, we are going to learn about the checkAccess() method of ThreadGroup class with its syntax and example.
        Submitted by Preeti Jain, on September 13, 2019
    
    
    ThreadGroup class checkAccess() method
    
        - checkAccess() method is available in java.lang package.
- checkAccess() method is used to check whether the currently running thread has permission to update the thread group or not.
- checkAccess() method is not a static method so it is not accessible with the class name (i.e. this method is accessible with the class object only).
- checkAccess() method is a final method so it is not overridable (i.e. this method is not overridable in child class).
- This method may throw an exception at the time of accessing a thread group.
 SecurityException: In this exception when the current thread is not authorized to access the thread group when the security manager exists.
Syntax:
    public final void checkAccess();
    
    Parameter(s):
    
        - This method does not accept any parameter.
Return value:
    The return type of this method is void, it does not return anything.
    
    Example:
// Java program to demonstrate the example of 
// checkAccess () method of ThreadGroup Class.
import java.lang.*;
class CheckAccess extends Thread {
    // Override run() of Thread class
    public void run() {
        String name = Thread.currentThread().getName();
        System.out.println(name + " " + "finish executing");
    }
}
public class Main {
    public static void main(String[] args) {
        CheckAccess ca = new CheckAccess();
        try {
            // We are creating an object of ThreadGroup class
            ThreadGroup tg1 = new ThreadGroup("ThreadGroup 1");
            ThreadGroup tg2 = new ThreadGroup("ThreadGroup 2");
            // We are creating an object of Thread class and 
            // we are assigning the ThreadGroup of both the thread
            Thread th1 = new Thread(tg1, ca, "First Thread");
            Thread th2 = new Thread(tg2, ca, "Second Thread");
            // Calling start() method with Thread class object 
            // of Thread class
            th1.start();
            th2.start();
            // Here we are checking access of ThreadGroup
            try {
                tg1.checkAccess();
                System.out.println(tg1.getName() + " " + "has access");
                tg2.checkAccess();
                System.out.println(tg2.getName() + " " + "has access");
            } catch (SecurityException se) {
                System.out.println(se.getMessage());
            }
            th1.join();
            th2.join();
        } catch (Exception ex) {
            System.out.println(ex.getMessage());
        }
    }
}
Output
E:\Programs>javac Main.java
E:\Programs>java Main
ThreadGroup 1 has access
ThreadGroup 2 has access
First Thread finish executing
Second Thread finish executing
    
    
  
    Advertisement
    
    
    
  
  
    Advertisement