Linux pthread常用方法

Posted 绿叶清风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux pthread常用方法相关的知识,希望对你有一定的参考价值。

PThread参考

  • pthread常用方法:

    int pthread_create(pthread_t *thread, const pthreae_attr_t *attr, void *(*start)(void *), void *arg);
    pthread_t pthread_self(void);
    int pthread_equal(pthread_t tl, pthread_t t2);  // 相等返回非0值
    int pthread_detach(pthread_t thread);
    int pthread_exit(void *value_ptr);//退出线程
    int pthread_cancel(pthread_t thread);//取消线程
    int pthread_join(pthread_t thread, void **value_ptr);//等待线程结束
    
  • pthread同步机制 :

    互斥量:
    	int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *attr);
    	int pthread_mutex_destroy(pthread_mutex_t *mutex);
    
    互斥量(如自定义结构体)加锁:
    	pthread_mutex_lock
    	pthread_mutex_trylock(非阻塞式互斥量锁)
    	pthread_mutex_unlock
    	//多线程下,确保init_routine参数对应的方法只执行一次
    	int pthread_once(pthread_once_t *once_control, void (*init_routine) (void));
    
    条件变量:
       pthread_cond_tcond = PTHREAD_COND_INITIALIZER;
       int pthread_cond_init(pthread_cond_t *cond, pthread_condattr_t *condattr);
       int pthread_cond_destroy(pthread_cond_t *cond);
       int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex);
       int pthread_cond_timedwait(pthread_cond *cond, pthread_mutex_t *mutex, struct timespec *expiration);
    

以上是关于Linux pthread常用方法的主要内容,如果未能解决你的问题,请参考以下文章

Linux 线程同步的三种方法

LINUX - pthread_mutex_lock

除了 pthread_create 在 linux 上创建 linux 线程的方法

linux pthread和java thread的是/非守护线程的行为

Linux之多线程20160705

如何将pthread_t映射到pid(在Linux上)