1、pthread_create(3)
#include <pthread.h>
int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg);
Compile and link with -pthread.
功能:创建一个新的线程
参数:
thread:存放的是新线程的id。
attr:NULL 默认属性
start_routine:线程执行的函数
arg:是start_routine函数的唯一参数
返回值:
0 成功
错误的情况下,返回错误号。
-------------------------------------------------
2、pthread_self(3)
#include <pthread.h>
pthread_t pthread_self(void);
Compile and link with -pthread.
功能:获取自己的线程id
参数:
void
返回值:
自己线程的id。
--------------------------------------------------
3、pthread_join(3) //不太懂
#include <pthread.h>
int pthread_join(pthread_t thread, void **retval);
功能:汇合一个终止线程
参数:
thread:要汇合的线程的id
retval:存放要汇合的线程的退出状态
返回值:
0 成功
失败返回错误号
--------------------------------------------------
4、pthread_detach(3)
#include <pthread.h>
int pthread_detach(pthread_t thread);
功能:分离一个线程
参数:
thread:要分离的线程的id。
返回值:
0 成功
错误 返回错误号
---------------------------------------------------
5、pthread_exit(3)
#include <pthread.h>
void pthread_exit(void *retval);
功能:终止当前线程
参数:
retval:线程退出的状态码。
返回值:
void
----------------------------------------------------
6、pthread_cancel(3)
#include <pthread.h>
int pthread_cancel(pthread_t thread);
功能:给一个线程发送取消请求
参数:
thread:要取消的线程id。
返回值:
0 成功
错误 错误码
----------------------------------------------------
7、pthread_mutex_init(3)
#include <pthread.h>
pthread_mutex_t fastmutex=PTHREAD_MUTEX_INITIALIZER;
pthread_mutex_t recmutex=PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *mutexattr);
功能:初始化一个mutex锁
参数:
mutex:要初始化的mutex锁
mutexattr: NULL
返回值:
0
----------------------------------------------------
8、int pthread_mutex_lock(pthread_mutex_t *mutex);
功能:加mutex锁,如果锁没有被其他线程占用,立即上锁并返回。如果被其他线程占用,阻塞等待锁的释放。
参数:
mutex:要操作的mutex锁
返回值:
0 成功
错误 返回错误码
----------------------------------------------------
9、int pthread_mutex_trylock(pthread_mutex_t *mutex);
功能:尝试加锁。如果这个锁被其他线程占用,立即返回,设置错误码为EBUSY。
参数:
mutex:要操作的锁
返回值:
0 成功1
错误 返回错误码
----------------------------------------------------
10、int pthread_mutex_unlock(pthread_mutex_t *mutex);
功能:解除mutex锁
参数:
mutex: 指定要解除的mutex锁
返回值:
0 成功
错误 返回错误码
-----------------------------------------------------
11、int pthread_mutex_destroy(pthread_mutex_t *mutex);
功能:销毁mutex锁
参数:
mutex:要销毁的mutex锁
返回值:
0 成功
错误 返回错误码