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類 下一篇:無