thread用来表述执行代码的独立path。os x的线程执行基于POSIX 线程API.process用来表述一个运行操作,可以包含多个线程。task用来描述工作的抽象概念。Concurrency and Application Design不是依赖threads,os x和ios使用的是asyn...
分类:
其他好文 时间:
2015-01-05 16:20:23
阅读次数:
173
posix 线程详解
posix 线程专栏
POSIX thread APIs...
分类:
编程语言 时间:
2015-01-03 09:23:24
阅读次数:
173
#include
#include
#include
#include
#include
#include
void *thread_function( void *arg );
pthread_mutex_t work_mutex;
#define WORK_SIZE 1024
char work_area[WORK_SIZE];
int time_to_exit = 0;
i...
分类:
编程语言 时间:
2014-12-31 11:20:21
阅读次数:
201
互斥量从本质上说就是一把锁, 提供对共享资源的保护访问。
1. 初始化:
在 Linux下, 线程的互斥量数据类型是pthread_mutex_t. 在使用前, 要对它进行初始化:
对于静态分配的互斥量, 可以把它设置为PTHREAD_MUTEX_INITIALIZER, 或者调用pthread_mutex_init.
对于动态分配的互斥量, 在申请内存(m...
分类:
编程语言 时间:
2014-12-30 22:12:20
阅读次数:
182
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet 或 .../gentleliu,文章仅供学习交流,请勿用于商业用途】
在第一节说到了生产者消费者问题,这一节我们来实现这样一个稍作修改的模型: 初始时缓冲区为空,生产者向缓冲区写入数据,消费者在缓冲区为空的情况下睡眠,当生产者写满缓冲区一半之后后通知消费者可以开始消费,生产者开始睡眠,直到消费者消...
分类:
编程语言 时间:
2014-12-23 17:32:51
阅读次数:
225
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet 或 .../gentleliu,文章仅供学习交流,请勿用于商业用途】
上一节说到线程的互斥锁,互斥锁适合防止访问某个共享变量,这一节我们来看看两个线程如何实现同步。互斥锁也可以实现线程同步,当该值满足某种条件时当前线程继续执行,否则继续轮询,不过这样相当浪费cpu时间。我们需要的是让某个线程进入睡...
分类:
编程语言 时间:
2014-12-20 14:18:19
阅读次数:
258
【版权声明:尊重原创,转载请保留出处:blog.csdn.net/shallnet 或 .../gentleliu,文章仅供学习交流,请勿用于商业用途】
有了进程的概念,为何还要使用线程呢?
首先,回忆一下上一个系列我们讲到的IPC,各个进程之间具有独立的内存空间,要进行数据的传递只能通过通信的方式进行,这种方式不仅费时,而且很不方便。而同一个进程下的线程是共享全局内存的,所以...
分类:
编程语言 时间:
2014-12-17 21:00:37
阅读次数:
195
现在的压力测试工具各种各样,只要上手好几款功能强大点的而且比较大众化的压力测试工具即可,以下跟大家交流下sysbench的安装和压力测试sysbench支持以下几种测试模式:1、CPU运算性能2、磁盘IO性能3、内存分配及传输速度4、内存分配及传输速度5、POSIX线程性能6、数据库性能(OLTP基...
分类:
其他好文 时间:
2014-11-25 18:19:07
阅读次数:
294
本文首先使用了接口pthread_create创建一个线程,并用strace命令追踪了接口pthread_create创建线程的步骤以及涉及到的系统调用,然后讨论了Linux中线程与进程关系,最后概述了为了实现POSIX线程,Linux内核所做的修改。
使用pthread_create创建线程
在Linux下可以使用pthread_create来创建线程,该接口声明如下:
#...
分类:
编程语言 时间:
2014-11-24 21:00:30
阅读次数:
277
Posix线程中的线程属性pthread_attr_t主要包括scope属性、detach属性、堆栈地址、堆栈大小、优先级。在pthread_create中,把第二个参数设置为NULL的话,将采用默认的属性配置。pthread_attr_t的主要属性的意义如下:__detachstate,表示新线程...
分类:
编程语言 时间:
2014-11-24 18:31:49
阅读次数:
198