线程与ZeroMQ:从基础到应用
1. 线程基础
线程的编程接口是POSIX线程API,通常称为pthreads,它首次在IEEE POSIX 1003.1c标准(1995年)中定义,是 libpthread.so C库的一部分。过去15年左右,pthreads有两种实现:LinuxThreads和Native POSIX Thread Library (NPTL)。NPTL更符合规范,在信号处理和进程ID处理方面表现出色,现在占据主导地位,但可能会遇到使用LinuxThreads的旧版uClibc。
1.1 创建新线程
可以使用 pthread_create(3) 函数创建线程:
int pthread_create(pthread_t *thread, const pthread_attr_t *attr,
void *(*start_routine) (void *), void *arg);
该函数创建一个新的执行线程,从 start_routine 函数开始执行,并将线程描述符放入 pthread_t 中。新线程继承调用线程的调度参数,但可以通过 attr 传递线程属性指针来覆盖这些参数。线程将立即开始执行。
以下是一个简单的示例程序,展示了线程的生命周期:
#include <
超级会员免费看
订阅专栏 解锁全文
169万+

被折叠的 条评论
为什么被折叠?



