Java Modifier isSynchronized(mod)方法及示例
java.lang.reflect.Modifier 的 isSynchronized(mod) 方法用于检查整数参数是否包括同步修改器。如果这个整数参数代表同步类型的修改器,那么该方法返回true,否则返回false。
语法
public static boolean isSynchronized(int mod)
参数: 该方法接受一个整数名称,因为mod代表一组修改器。
返回 :如果mod包括同步修改器,该方法返回true;否则返回false。
下面的程序说明了isSynchronized()方法:
程序1 :
// Java program to illustrate isSynchronized() method import java.lang.reflect.*; public class GFG { public static void main(String[] args) throws NoSuchFieldException, SecurityException { // get Method class object Method[] methods = GFGTest.class.getMethods(); // get Modifier Integer value int mod = methods[0].getModifiers(); // check Modifier is synchronized or not boolean result = Modifier.isSynchronized(mod); System.out.println("Mod integer value " + mod + " is synchronized : " + result); } class GFGTest { public synchronized String method1() { return null; } }}
输出。
Mod integer value 33 is synchronized : true
程序2
// Java program to illustrate isSynchronized() import java.lang.reflect.*; public class GFG { public static void main(String[] args) throws NoSuchFieldException, SecurityException { // get Method class object Method[] methods = Thread.class.getMethods(); // loop through methods and // print synchronized methods for (int i = 0; i < methods.length; i++) { // get Modifier Integer value int mod = methods[i].getModifiers(); // check Modifier is synchronized or not boolean result = Modifier.isSynchronized(mod); if (result) { System.out.println("synchronized Method: " + methods[i]); } } }}输出。
synchronized Method: public final synchronized void java.lang.Thread.join(long) throws java.lang.InterruptedExceptionsynchronized Method: public final synchronized void java.lang.Thread.join(long, int) throws java.lang.InterruptedExceptionsynchronized Method: public synchronized void java.lang.Thread.start()synchronized Method: public final synchronized void java.lang.Thread.stop(java.lang.Throwable)synchronized Method: public final synchronized void java.lang.Thread.setName(java.lang.String)
**参考文献: ** https://docs.oracle.com/javase/10/docs/api/java/lang/reflect/Modifier.html#isSynchronized(int)
