線程類void setContextClassLoader(ClassLoader loader) (Thread Class void setContextClassLoader(ClassLoader loader))
This method is available in package java.lang.Thread.setContextClassLoader(ClassLoader loader).
軟件包java.lang.Thread.setContextClassLoader(ClassLoader loader)中提供了此方法。
This method is used to sets the context ClassLoader for this(Current)Thread.
此方法用于為此(當前)線程設置上下文ClassLoader。
The context ClassLoader can be set at the time of thread creation by which thread creator could access the thread and provide appropriate the class loader to code run in the program at the time of class loading.
可以在創建線程時設置上下文ClassLoader,通過該上下文,線程創建者可以訪問線程并提供適當的類加載器,以在類加載時在程序中運行代碼。
This method is not static so this method is accessible with Thread class object it is not accessible with the class name.
此方法不是靜態的,因此該方法可通過Thread類對象訪問,而無法通過類名稱訪問。
The return type of this method is void so it does not return anything.
此方法的返回類型為void,因此它不返回任何內容。
This method raises an exception (SecurityException) if this thread could not set the context ClassLoader.
如果此線程無法設置上下文ClassLoader,則此方法引發異常(SecurityException)。
Syntax:
句法:
void setContextClassLoader(ClassLoader loader){
}
Parameter(s):
參數:
We pass only one object as a parameter in the method of the Thread and the parameter is the context ClassLoader for this thread.
我們僅在Thread方法中傳遞一個對象作為參數,并且該參數是該線程的上下文ClassLoader。
Return value:
返回值:
The return type of this method is void, it does not return anything.
此方法的返回類型為void ,它不返回任何內容。
Java程序演示setContextClassLoader()方法的示例 (Java program to demonstrate example of setContextClassLoader() method)
/* We will use Thread class methods so we are importing
the package but it is not mandate because
it is imported by default
*/
import java.lang.Thread;
class SetContextClassLoader extends Thread {
// Override run() of Thread class
public void run() {
//Display a message for the end user
System.out.println("The name of this thread is " + " " + Thread.currentThread().getName());
}
public static void main(String[] args) {
// Creating an object of SetContextClassLoader class
SetContextClassLoader ccl = new SetContextClassLoader();
// Creating an object of Thread class
Thread th = new Thread(ccl);
// Thread class start() method will call and it will ultimately
th.start();
// getContextClassLoader() will return context ClassLoader
// and create a reference of ClassLoader
ClassLoader cl = th.getContextClassLoader();
// By using setContextClassLoader(ClassLoader cl) sets
// the context ClassLoader for this thread th
th.setContextClassLoader(cl);
System.out.println("The Context ClassLoader for this thread th is = " + cl);
System.out.println("The Parent of the ClassLoader is = " + cl.getParent());
System.out.println("The Class of the ClassLoader is = " + cl.getClass());
}
}
Output
輸出量
E:\Programs>javac SetContextClassLoader.java
E:\Programs>java SetContextClassLoader
The Context ClassLoader for this thread th is = [email?protected]
The name of this thread is Thread-1
The Parent of the ClassLoader is = [email?protected]
The Class of the ClassLoader is = class sun.misc.Launcher$AppClassLoader
翻譯自: https://www.includehelp.com/java/thread-class-void-setcontextclassloader-classloader-loader-method-with-example.aspx