线程的创建:
#include<pthread.h>
int
pthread_create(pthread_t *tidp,
const
pthread_attr_t *attr,
(
void
*)(*start_rtn)(
void
*),
void
*arg);
/*创建线程
*参数:pthread_t *tidp :线程id,在Linux系统中是int,在Unix系统中是结构体,在移植性考虑还是使用pthread_t类型比较好.
*const
pthread_attr_t *attr:线程属性,主要包括scope属性、detach属性、堆栈地址、堆栈大小、优先级。在pthread_create中,把第二个参数 *设置为NULL的话,将采用默认的属性配置.
*(
void
*)(*start_rtn)(
void
*):函数指针,指向该线程运行的起始位置.
*void
*arg:线程的参数,可在使用时转为自己想要的类型
*/
线程间通信:
因为线程是共享资源的,所以我们可以使用全局变量来进行通信,所以非常的简单方便.但是因为资源是共享的而某些资源的访问是不允许多个同时访问和修改的,所以在线程中,我们需要注意的是同步的问题.
时间: 2024-11-05 18:14:00