一 线程类
larbin下的线程操作类,主要在mypthread.h中定义,实质上是利用宏定义,封装了pthread.h中的系统调用。
一个进程可以有多个线程,每个线程都有自己的处理流程。
二 具体实现
typedef void* (*StartFun) (void *);
void startThread (StartFun run, void *arg);
startThread 函数实质上是 调用pthread_create 启动一个新的线程。
//下面为线程同步的操作
#define mypthread_cond_init(x,y) pthread_cond_init(x,y)
#define mypthread_cond_destroy(x) pthread_cond_destroy(x)
#define mypthread_cond_wait(c,x,y) while (c) { pthread_cond_wait(x,y); }
#define mypthread_cond_broadcast(x) pthread_cond_broadcast(x)
//下面为线程互斥的操作
#define mypthread_mutex_init(x,y) pthread_mutex_init(x,y)
#define mypthread_mutex_destroy(x) pthread_mutex_destroy(x)
#define mypthread_mutex_lock(x) pthread_mutex_lock(x)
#define mypthread_mutex_unlock(x) pthread_mutex_unlock(x)

转载于:https://www.cnblogs.com/zhoulinhu/archive/2011/10/24/2222794.html

Larbin源代码分析[6]LARBIN中线程处理类相关推荐

  1. i27岁转行java,JavaTM I/O 性能分析[转]

    JavaTM I/O 性能分析[转] 上一篇 / 下一篇  2008-07-30 13:04:44 / 个人分类:Zee的生活 这篇文章讨论和阐明了提供 JavaTM I/O 性能的多种设计问题,例如 ...

  2. mac os linux pageup pagedown,[整理]Mac中的类似于Windows中的PageUp和PageDown以及Ctrl+Home和Ctrl+End...

    (1) 之前以为Ctrl+Home和Ctrl+End是 Command+向上箭头 Command+向下箭头 结果发现又好像不是. 刚发现的是: option(Alt)+向上箭头 option(Alt) ...

  3. [转]Java中Set的深入研究

    Set和数学中的集合是同一个概念,就是没有重复元素的集合. 这篇文章主要论述了Set是如何实现"没有重复元素"(no duplicate elements)的,以及阐述了什么是&q ...

  4. Fabric 1.0源代码分析(45)gRPC(Fabric中注册的gRPC Service)

    # Fabric 1.0源代码笔记 之 -gRPC(Fabric中注册的gRPC Service) Peer节点中注册的gRPC Service,包括: * Events Service(事件服务): ...

  5. muduo源代码分析--Reactor模式在muduo中的使用

    一. Reactor模式简单介绍 Reactor释义"反应堆",是一种事件驱动机制.和普通函数调用的不同之处在于:应用程序不是主动的调用某个API完毕处理.而是恰恰相反.React ...

  6. BlogEngine.Net架构与源代码分析系列part12:页面共同的基类——BlogBasePage

    上一篇文章我向大家展示了BlogEngine.Net中Theme的原理和一些开发规范,里面有很多内容和这篇文章有着联系,建议大家这两篇文章结合在一起看,这样效果会更好.在这篇文章中我主要向大家说明Bl ...

  7. Linux内核态之间进程通信,Linux 系统内核空间与用户空间通信的实现与分析[转载]...

    [https://www.ibm.com/developerworks/cn/linux/l-netlink/index.html] 多数的 Linux 内核态程序都需要和用户空间的进程交换数据,但 ...

  8. GCC源代码分析(1): GCC中的树

    转自:http://blog.chinaunix.net/uid-13800995-id-67956.html 本文分析GCC4.3.1的源代码.如某位牛人所说,我并不打算做"参考手册&qu ...

  9. 思科(Cisco)IOS 12.3特性分析[ZT]

    cisco的ios 12.3和其子版本不仅包含增加的基本变化和漏洞修复.一起来近距离体验12个最有用的变化,包括网络准入控制(nac),最优边缘路由,动态多点***,ipsec全状态故障恢复等. 可能 ...

最新文章

  1. CVPR 2021 | Involution:超越 Convolution 和 Self-attention 的神经网络新算子
  2. 解决eclipse中java项目导出成jar包后读写UTF-8文件中文乱码问题
  3. 电脑壁纸知乎_电脑壁纸(个人向
  4. DCMTK:存储服务类用户(C-STORE操作)
  5. PHP从零开始--循环数组
  6. 【dfs】树上游戏(P2664)
  7. OpenCV3学习(12.4) 粒子滤波Condensation算法
  8. 新员工入职表_【干货】新员工入职全方案:180天详细培训计划
  9. python数字合并提高_python-给定相关数字列表,合并相关列表以创...
  10. 不要为了“分库分表”而“分库分表”!
  11. 通过允许指定IP访问apahce虚拟主机加强服务器安全
  12. adams 小车 平台 前行仿真
  13. 质量管理体系和行业标准
  14. html5 下拉按钮样式修改,css和jquery实现的select美化自定义下拉框样式
  15. 二、信号分解 —>经验模态分解(EMD)学习笔记
  16. arcgis利用切片服务导出离线地图包(tpk文件)
  17. 华为服务器安装nas系统,云服务器搭建nas
  18. Uber Go 语言编程规范:使用 go.uber.org/atomic
  19. Android使用AudioManager切换到听筒模式
  20. Hive处理数据基本操作流程

热门文章

  1. 支持向量机python代码_Python中的支持向量机SVM的使用(有实例)
  2. 一文掌握 C 智能指针的使用
  3. sql 联合查询_一张图看懂sql运行顺序
  4. 422器件与lvds接收器的区别_SPI、I2C、UART三种串行总线的原理、区别
  5. 求解出n以内所有能被5整除的正整数的乘积_所有最常见最经典的算法题都在这里了...
  6. 苹果电脑怎么投屏到电视_tcl电视怎么投屏
  7. html5 css svg,6款基于SVG的HTML5CSS3应用和动画
  8. 【渝粤教育】国家开放大学2018年春季 0273-22T中国现代文学 参考试题
  9. [渝粤教育] 中国地质大学 自动控制原理 复习题 (2)
  10. php网站点击按钮更新程序,php页面 点击按钮执行更新操作