📌  相关文章
📜  Java中的修饰符 isSynchronized(mod) 方法及示例

📅  最后修改于: 2022-05-13 01:54:51.826000             🧑  作者: Mango

Java中的修饰符 isSynchronized(mod) 方法及示例

Java.lang.reflect.ModifierisSynchronized(mod)方法用于检查整数参数是否包含同步修饰符。如果此整数参数表示同步类型修饰符,则方法返回 true,否则返回 false。

句法:

public static boolean isSynchronized(int mod)

参数:此方法接受一个整数名称,因为 mod 表示一组修饰符。

Return :如果 mod 包含 synchronized 修饰符,此方法返回 true;否则为假。

下面的程序说明了 isSynchronized() 方法:
方案一:

// 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

方案二:

// 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.InterruptedException
synchronized Method: public final synchronized void java.lang.Thread.join(long, int) throws java.lang.InterruptedException
synchronized 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: Java/lang/reflect/Modifier.html#isSynchronized(int)