小编Rah*_*tha的帖子

线程安全的Enum Singleton

枚举有利于创建单身人士.我知道枚举方法不是线程安全的,所以我试着让它成为线程安全的.任何人都可以确认这种实施是否正确.是否可以使用静态和易失性这么多地方并且可以进行优化?由于内部类是私有的,因此我必须在枚举中创建函数以访问内部类功能.可以优化吗?

import java.util.Date;

public enum SingletonWithEnum {
    INSTANCE;   

    private static class Singleton{

        private static volatile int count;
        private static volatile Date date;      

        public static  int getCount() { return count;}

        public static void setCount(int countParam) { synchronized(Singleton.class){ count = countParam; }}

        public static Date getDate() {  return date;}

        public static void setDate(Date dateParam) { synchronized(Singleton.class){ date = dateParam;}}

        public static String printObject() {
            return "Singleton [count=" + getCount() + ", date=" + getDate() + "]";
        }

    }

    public int getCount() { …
Run Code Online (Sandbox Code Playgroud)

java singleton enums multithreading thread-safety

3
推荐指数
1
解决办法
6488
查看次数

标签 统计

enums ×1

java ×1

multithreading ×1

singleton ×1

thread-safety ×1