C语言POSIX线程常用函数

来源:互联网 发布:xps 转换 知乎 编辑:程序博客网 时间:2024/06/13 01:20

#include <pthread.h>
1. int pthread_create(pthread_t *thread,pthread_attr_t *attr,void *(*start_routine)(void *),void *arg);//创建新线程
2. void pthread_exit(void *retval);//终止线程
3. int pthread_join(pthread_t th,void **thread_return);//收集线程

使用信号量同步线程
#include <semaphore.h>
1. int sem_init(sem_t *sem,int pshared,unsigned int value);//创建信号量
2. int sem_wait(sem_t *sem);//给信号量的值减1
3. int sem_post(sem_t *sem);//给信号量的值加1
4. int sem_destroy(sem_t *sem);//清理信号量

使用互斥量同步线程
#include <pthread.h>
1. int pthread_mutex_init(pthread_mutex_t *mutex,const pthread_mutexattr_t *mutexattr);
2. int pthread_mutex_lock(pthread_mutex_t *mutex);
3. int pthread_mutex_unlock(pthread_mutex_t *mutex);
4. int pthread_mutex_destroy(pthread_mutex_t *mutex);

#include <pthread.h>
1. int pthread_cancel(pthread_t thread);
2. int pthread_setcancelstate(int state,int *oldstate);
//PTHREAD_CANCEL_ENABLEPTHREAD_CANCEL_DISABLENULL
3. int pthread_setcanceltype(int type,int *oldtype);
//PTHREAD_CANCEL_ASYNCHRONOUSPTHREAD_CANCEL_DEFERRED

原创粉丝点击