首页 > 其他 > 详细

单例模式示例

时间:2015-12-23 10:49:29      阅读:134      评论:0      收藏:0      [点我收藏+]
package pl.droidsonroids.gif;

import java.util.concurrent.ScheduledThreadPoolExecutor;

/**
 * Default executor for rendering tasks - {@link java.util.concurrent.ScheduledThreadPoolExecutor}
 * with 1 worker thread and {@link java.util.concurrent.ThreadPoolExecutor.DiscardPolicy}.
 */
final class GifRenderingExecutor extends ScheduledThreadPoolExecutor {

    private GifRenderingExecutor() {
        super(1, new DiscardPolicy());
    }

    @SuppressWarnings("StaticNonFinalField") //double-checked singleton initialization
    private static volatile GifRenderingExecutor instance = null;

    public static GifRenderingExecutor getInstance() {
        if (instance == null) {
            synchronized (GifRenderingExecutor.class) {
                if (instance == null) {
                    instance = new GifRenderingExecutor();
                }
            }
        }
        return instance;
    }
}

 

单例模式示例

原文:http://www.cnblogs.com/bigben0123/p/5068954.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!