惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

小众软件
小众软件
A
About on SuperTechFans
博客园 - Franky
Engineering at Meta
Engineering at Meta
Recent Announcements
Recent Announcements
云风的 BLOG
云风的 BLOG
B
Blog
Microsoft Security Blog
Microsoft Security Blog
L
LangChain Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
U
Unit 42
Martin Fowler
Martin Fowler
Y
Y Combinator Blog
Stack Overflow Blog
Stack Overflow Blog
博客园 - 叶小钗
Vercel News
Vercel News
Apple Machine Learning Research
Apple Machine Learning Research
The Cloudflare Blog
Last Week in AI
Last Week in AI
腾讯CDC
Microsoft Azure Blog
Microsoft Azure Blog
爱范儿
爱范儿
V
V2EX
G
Google Developers Blog

博客园 - 慕晓

10.23 关注 可中期关注的股票 关于利润率的趋同 为什么要学ruby? 到底用哪个blog好。 富人更富,穷人更穷 在 javascript中调用WebService(转) - 慕晓 - 博客园 请问有没有c#.net的讲师或者类似的人或公司? 微软拼音输入法3.0 在 ie 中有MaxLength 的 textbox 框中输入的bug 发现word的一个bug :项目符号和编号 中 多级符号 如何更改级别? 提问:使用何种模式? 重新构造我现有软件的结构(一) 发现了个叫做saie.exe的spyware程序 关于默认按钮 数据库连接的位置 我画的数据库的关系 简单介绍 求助:asp.net无法调试,为什么? 自己写的vss使用文档,入门级别的,大家随便看看
把Linux 的线程操作封装在类里面
慕晓 · 2005-03-24 · via 博客园 - 慕晓

大家知道,Linux的线程操作是使用pthread库。这个库都是c函数,如果你使用c++语言开发的话,线程处理部分不能封装起来是一个很麻烦的事情,从面向对象角度,系统结构等角度来看都很不舒服。我曾经找过是否有别人编写的c++的线程处理库,但是没有找到。于是我自己写了一个,希望能对大家有点用处。当然也可能存在问题,希望大家指出。我的信箱是 hezhenwei#hotmail.com
点这里下载

使用方法:
    把thread-1.0-1.i386.rpm安装到你机器上。
   创建一个class , public 继承 Thread 类。需要包含的头文件是 <thread.h>
   重载 virtual void Routine(void) 方法,写入你的线程所要做的事情。
   运行时,只要使用对象的Run方法。该方法立即返回。同时已经有一个线程在运行了。

下面讲讲主要的思路:
   建立一个class 叫做 Thread。然后建立方法Routine和Run。
   在同一个文件中建立一个线程。
   在Run方法中创建该线程,同时把本身的对象指针 this 作为参数传递给线程
   在线程中调用this指针的Routine方法。
    以上就可以把一个线程封装在类Thread中了。
   然后我把Routine方法作为虚函数,这样该类的子类就可以重载该方法以实现不同的线程操作。

主要代码如下
thread.h文件

thread.cpp文件