Java Thread setContextClassLoader()方法

Thread类的setContextClassLoader()方法为线程设置上下文ClassLoader。 创建线程时可以设置上下文ClassLoader。 它允许线程的创建者通过getContextClassLoader为加载类和资源时在线程中运行的代码提供适当的类加载器。

语法

public void setContextClassLoader(ClassLoader cl)

参数

  • cl:它是Thread类的上下文ClassLoader

返回

  • 不返回任何值。

异常

  • SecurityException:如果当前线程无法设置上下文ClassLoader

示例

public class JavaSetClassLoaderExp implements Runnable   
{  
    public void run()   
    {  
        System.out.println("Thread is running");  
        // returns the context ClassLoader for currently running thread  
        ClassLoader loader = Thread.currentThread().getContextClassLoader();  

        // sets the context ClassLoader for currently running thread  
        Thread.currentThread().setContextClassLoader(loader);  
        System.out.println("Context ClassLoader = " + loader);  
    }  
    public static void main(String args[])  
    {  
        JavaSetClassLoaderExp g1 = new JavaSetClassLoaderExp();  
        Thread t1 = new Thread(g1);  
        // call run() method  
        t1.start();  
    }  
}

执行上面示例代码,得到以下结果:

Thread is running
Context ClassLoader = sun.misc.Launcher$AppClassLoader@4e0e2f2a

上一篇: Java Runtime类 下一篇:无