The Java Thread setContextClassLoader() method sets the context ClassLoader for this Thread.The context ClassLoader can be set when a thread is created, and allows the creator of the thread to provide the appropriate class loader to code running in the thread when loading classes and resources.
DeclarationFollowing is the declaration for java.lang.Thread.setContextClassLoader() method
public void setContextClassLoader(ClassLoader cl)Parameters
cl − This is the context ClassLoader for this Thread.
Return ValueThis method does not return any value.
ExceptionSecurityException − if the current thread cannot set the context ClassLoader.
Example: Setting Context Class LoaderThe following example shows the usage of Java Thread setContextClassLoader() method. In this program, we've created a thread class ThreadDemo by implementing Runnable interface. In constructor, a new thread is created using new Thread. In run() method, we've retrieved the thread's context class loader using getContextClassLoader() method and then set the same. Lastly we've printed the class and parent.
package com.tutorialspoint; public class ThreadDemo implements Runnable { Thread t; ThreadDemo() { t = new Thread(this); // this will call run() function t.start(); } public void run() { ClassLoader c = t.getContextClassLoader(); // sets the context ClassLoader for this Thread t.setContextClassLoader(c); System.out.println("Class = " + c.getClass()); System.out.println("Parent = " + c.getParent()); } public static void main(String args[]) { new ThreadDemo(); } }Output
Let us compile and run the above program, this will produce the following result −
Class = class jdk.internal.loader.ClassLoaders$AppClassLoader Parent = jdk.internal.loader.ClassLoaders$PlatformClassLoader@15aea7ab
java_lang_thread.htm
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4