`
raojl
  • 浏览: 203312 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

(ACE)线程专用存储

阅读更多

关于线程存储 无非就是两种存储方式:一种是 专用存储,另一种是 共享存储

 

在 专用存储 用 ACE 内 的 ACE_TSS模板类可以实现一次全局声明的 专用存储方式。例子

 

 

 

class DataType 

public: 

DataType():data(0){} 

void increment(){ data++;} 

void set(int new_data){ data=new_data;} 

void decrement(){ data--;} 

int get(){return data;} 

 

private: 

int data; 

}; 

 

ACE_TSS<DataType> data; 

 

static void* thread1(void*) //加后等于 15

data->set(10); 

ACE_DEBUG((LM_DEBUG,"(%t)The value of data is %d \n",data->get())); 

for(int i=0;i<5;i++) 

data->increment(); 

ACE_DEBUG((LM_DEBUG,"(%t)The value of data is %d \n",data->get())); 

return 0; 

 

static void * thread2(void*) //加后等于 105

data->set(100); 

ACE_DEBUG((LM_DEBUG,"(%t)The value of data is %d \n",data->get())); 

for(int i=0; i<5;i++) 

data->increment(); 

ACE_DEBUG((LM_DEBUG,"(%t)The value of data is %d \n",data->get())); 

return 0; 

 

int main(int argc, char*argv[]) 

//Spawn off the first thread 

ACE_Thread_Manager::instance()->spawn((ACE_THR_FUNC)thread1,0,THR_NEW_LWP|  

THR_DETACHED); 

 

//Spawn off the second thread 

ACE_Thread_Manager::instance()->spawn((ACE_THR_FUNC)thread2,0,THR_NEW_LWP| THR_DETACHED); 

52 

 

 

//Wait for all threads in the manager to complete. 

ACE_Thread_Manager::instance()->wait(); 

ACE_DEBUG((LM_DEBUG,"Both threads done.Exiting.. \n")); 

 

分享到:
评论

相关推荐

    ACE多级线程实例

    简单介绍ACE多线程的实现,该文档主要是编写了ACE的线程锁,多线程等的代码实例

    ACE学习应用实例-ACE线程

    ACE线程,Socket,消息,定时器,队列,信号处理等。主要是对ACE线程的学习

    VC++ ACE线程代码实例11例子

    1 ACE_Thread_Manager类创建线程组 2 ACE_Thread_Manage类线程挂起、继续、取消操作 3 ACE_TSS模板的线程专有变量 4 创建线程和线程互斥 5 动态更换互斥方法 6 使用令牌互斥方法 7 守卫锁也是自动锁方法 8 条件等待 ...

    ACE线程、锁、同步机制

    详细讲解了ACE的线程、锁、同步机制 ACE简介以及ACE_DLL动态库操作类的使用

    ACE基本的多线程编程[文].pdf

    ACE基本的多线程编程[文].pdf

    ACE多线程服务器C++实现

    本程序为VS2010开发,实现了ACE的多线程分配处理的类socket程序。

    MFCACE多线程demo

    MFCACE多线程demo,基于ace 但是自己需要配置 C/C++属性里配置即可

    ACE学习文档大全.rar

    ACE 入门,ACE中文文档,ACE_Task框架,ACE的框架及其核心,ACE反应器(Reactor)模式,ACE线程管理机制,ACE通用服务端框架,ACE通用客户端框架,ACE中TCP通信

    ACE-6.5.0.tar.bz2

    ACE线程,进程启动、管理的C++源码,windows/VS,linux可编译成动态库,实测好用.................

    限制TP3觉(22.11.28)(过ACE弹窗专用版).zip

    限制TP3觉(22.11.28)(过ACE弹窗专用版).zip

    ace起步指南ace起步指南ace起步指南ace起步指南

    ace起步指南ace起步指南ace起步指南ace起步指南ace起步指南ace起步指南ace起步指南ace起步指南ace起步指南ace起步指南ace起步指南

    ACE头文件ACE头文件

    ACE头文件ACE头文件ACE头文件ACE头文件ACE头文件ACE头文件ACE头文件ACE头文件

    论文研究-一种基于ACE框架的线程对象内存回收方法 .pdf

    一种基于ACE框架的线程对象内存回收方法,蔡健鹰,,ACE框架是用于构建高性能网络应用的开放源码的面向对象框架。它简化了网络编程的复杂度,提高了应用程序的稳定性,高效性和可移植

    1上篇:ACE技术论文集

    通过在运行时将服务与应用动态链接进应用,并在一个或多个进程或线程中执行这些服务,ACE使系统的配置和重配置得以自动化。 本论文描述ACE的结构和功能,并使用来自像电信、企业级医学成像和WWW服务这样的领域的例子...

    ACE工具包详解

    ACE 是一个面向对象的工具开发包,它实现了通信软件的基本设计模式。 ACE 面向在UNIX 和Win32 平台上开发高性能通信服务的开发人员。...程序和在一个或多个进程或线程中执行这些服务自动完成系统配置和重新配 置。

    ace前端框架ace前端框架

    ace前端框架ace前端框架

    ACE编程概述及部分函数介绍_中文

    ACE编程技术的概述。介绍内容有: 定长整数 堆内存分配宏 时间存储 日期存储 网络地址存储 事件处理器 信号拦截 线程基类 线程互斥体(线程锁) 各种互斥体 线程守卫 各种线程守卫模板 线程守卫宏 定时器队列 ACE ...

    ACE网络编程ACE网络编程

    ACE网络编程ACE网络编程;ACE网络编程ACE网络编程;ACE网络编程ACE网络编程

    ACE程序员指南.pdf

     线程管理  事件多路分离和处理器分派  连接建立和服务初始化  软件的静态和动态配置、重配置  分层协议构建和流式框架  分布式通信服务名字、日志、时间同步、事件路由和网络锁定等等。

Global site tag (gtag.js) - Google Analytics