Larbin源代码分析[6]LARBIN中线程处理类
一 线程类
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中线程处理类相关推荐
- i27岁转行java,JavaTM I/O 性能分析[转]
JavaTM I/O 性能分析[转] 上一篇 / 下一篇 2008-07-30 13:04:44 / 个人分类:Zee的生活 这篇文章讨论和阐明了提供 JavaTM I/O 性能的多种设计问题,例如 ...
- mac os linux pageup pagedown,[整理]Mac中的类似于Windows中的PageUp和PageDown以及Ctrl+Home和Ctrl+End...
(1) 之前以为Ctrl+Home和Ctrl+End是 Command+向上箭头 Command+向下箭头 结果发现又好像不是. 刚发现的是: option(Alt)+向上箭头 option(Alt) ...
- [转]Java中Set的深入研究
Set和数学中的集合是同一个概念,就是没有重复元素的集合. 这篇文章主要论述了Set是如何实现"没有重复元素"(no duplicate elements)的,以及阐述了什么是&q ...
- Fabric 1.0源代码分析(45)gRPC(Fabric中注册的gRPC Service)
# Fabric 1.0源代码笔记 之 -gRPC(Fabric中注册的gRPC Service) Peer节点中注册的gRPC Service,包括: * Events Service(事件服务): ...
- muduo源代码分析--Reactor模式在muduo中的使用
一. Reactor模式简单介绍 Reactor释义"反应堆",是一种事件驱动机制.和普通函数调用的不同之处在于:应用程序不是主动的调用某个API完毕处理.而是恰恰相反.React ...
- BlogEngine.Net架构与源代码分析系列part12:页面共同的基类——BlogBasePage
上一篇文章我向大家展示了BlogEngine.Net中Theme的原理和一些开发规范,里面有很多内容和这篇文章有着联系,建议大家这两篇文章结合在一起看,这样效果会更好.在这篇文章中我主要向大家说明Bl ...
- Linux内核态之间进程通信,Linux 系统内核空间与用户空间通信的实现与分析[转载]...
[https://www.ibm.com/developerworks/cn/linux/l-netlink/index.html] 多数的 Linux 内核态程序都需要和用户空间的进程交换数据,但 ...
- GCC源代码分析(1): GCC中的树
转自:http://blog.chinaunix.net/uid-13800995-id-67956.html 本文分析GCC4.3.1的源代码.如某位牛人所说,我并不打算做"参考手册&qu ...
- 思科(Cisco)IOS 12.3特性分析[ZT]
cisco的ios 12.3和其子版本不仅包含增加的基本变化和漏洞修复.一起来近距离体验12个最有用的变化,包括网络准入控制(nac),最优边缘路由,动态多点***,ipsec全状态故障恢复等. 可能 ...
最新文章
- CVPR 2021 | Involution:超越 Convolution 和 Self-attention 的神经网络新算子
- 解决eclipse中java项目导出成jar包后读写UTF-8文件中文乱码问题
- 电脑壁纸知乎_电脑壁纸(个人向
- DCMTK:存储服务类用户(C-STORE操作)
- PHP从零开始--循环数组
- 【dfs】树上游戏(P2664)
- OpenCV3学习(12.4) 粒子滤波Condensation算法
- 新员工入职表_【干货】新员工入职全方案:180天详细培训计划
- python数字合并提高_python-给定相关数字列表,合并相关列表以创...
- 不要为了“分库分表”而“分库分表”!
- 通过允许指定IP访问apahce虚拟主机加强服务器安全
- adams 小车 平台 前行仿真
- 质量管理体系和行业标准
- html5 下拉按钮样式修改,css和jquery实现的select美化自定义下拉框样式
- 二、信号分解 —>经验模态分解(EMD)学习笔记
- arcgis利用切片服务导出离线地图包(tpk文件)
- 华为服务器安装nas系统,云服务器搭建nas
- Uber Go 语言编程规范:使用 go.uber.org/atomic
- Android使用AudioManager切换到听筒模式
- Hive处理数据基本操作流程
热门文章
- 支持向量机python代码_Python中的支持向量机SVM的使用(有实例)
- 一文掌握 C 智能指针的使用
- sql 联合查询_一张图看懂sql运行顺序
- 422器件与lvds接收器的区别_SPI、I2C、UART三种串行总线的原理、区别
- 求解出n以内所有能被5整除的正整数的乘积_所有最常见最经典的算法题都在这里了...
- 苹果电脑怎么投屏到电视_tcl电视怎么投屏
- html5 css svg,6款基于SVG的HTML5CSS3应用和动画
- 【渝粤教育】国家开放大学2018年春季 0273-22T中国现代文学 参考试题
- [渝粤教育] 中国地质大学 自动控制原理 复习题 (2)
- php网站点击按钮更新程序,php页面 点击按钮执行更新操作