使用singleton来封装计时器
本文关键字:计时器 封装 singleton 使用 | 更新日期: 2023-09-27 17:53:43
我有一个初始化threading.timer的类。我需要确保它将只是一个实例的计时器在所有的网站。我想我应该用singleton,对吗?问题是,我该怎么做?我从来没有实现过Singleton。这是我的代码,所以你可以理解我的意思。
public class start
{
public start()
{
var timer = new Timer(CallBack, null, 0, 60000);
}
private void CallBack(object obj)
{
//Code
}
}
所以,这个想法是,当我初始化类Start时,总是使用一些定时器,而不是实例化一个新的。由于
通常,您会有一个类的私有静态实例和一个静态getter。将构造函数也设置为私有。在getter中,检查私有实例是否已经创建。如果不是,创建并返回它,如果是,只返回实例。
public class MySingleton {
private static MySingleton instance_ = null;
private Timer timer_;
public static GetInstance(){
if (instance_ == null) instance_ = new MySingleton();
return instance_;
}
private MySingleton(){
timer_ = new Timer(Callback, ...);
}
}