主观

阅读以下说明和c++代码,将应填入(n)处的字句写在答题纸对应栏内。

 [说明]

 很多时候,希望某些类只有一个或有限的几个实例,典型解决方案是所谓单身(Singleton)模式。但在多线程情况下,Singleton模式有可能出现问题,需要进行同步检查。如果对“检查Singleton对象是否已经创建”进行同步,则存在严重的瓶颈,所有的线程都必须等待检查对象是否存在。解决方式是一种称为Double-Checked-Locking模式,其意图是将非必须的锁定优化掉,同步检查最多只发生一次,因此不会成为瓶颈。以下是c++语言实现,能够正确编译通过。

 [C++代码]

 class USTax{

  (1):

 USTax(){};//构造函数

 public:

 static USTax* getInstance();

 private:

 static USTax*instance;

 };

  (2)=NULL;

 USTax*USTax::get Instance(){

 if(instance==NULL){

 //进行某种同步

 cout<<"实例暂时不存在"<  if( (3) ){

 cout<<"实例不存在,创建实例..."<  instance=(4);

 cout<<"实例创建成功"<  }

 else{

 cout<<"实例已被创建了"<  }

 }

 else{

 cout<<"实例已经存在"<  }

 return (5);

 }

(1)

参考答案
您可能感兴趣的试题
¥

订单号:

遇到问题请联系在线客服

订单号:

遇到问题请联系在线客服