我在C ++语言中找到了这个单例:
@GET
@Path("method")
@ManagedAsync
public void method(@Context HttpServletRequest request, @Suspended AsyncResponse ar) {
Object o = foo.bar(request);
ar.resume(Response.ok(o).build()); //Is there any point to this?
}
但是,这怎么可能是单身人士?
只创建一个istance的控制权在哪里?
不要错过静态属性吗?
如果在main函数中我写了另一个get_instance()调用会发生什么?
答案 0 :(得分:3)
使用get_instance
内的函数范围静态完成单实例控件。这些对象在程序流首先通过它们并在程序出口处被破坏时构造一次。因此,第一次调用get_instance
时,将构造并返回单例。每隔一次,同一个对象将被返回。
这通常称为Meyers singleton。
答案 1 :(得分:1)
我想指出一个相当general description的模式,然后指向一个带有deeper dissertation的C++ example。 在我看来,比试图解释(再一次)更有效。
P.S。 是的,你也需要一些静态定义。