Linux下的线程操作总结


  1. /************************************************* 
  2. * Function    : pthread_create 
  3. * Description :  
  4. * Calls       :  
  5. * Called By   :  
  6. * Input       :  
  7.        thread          :所创建的线程号。                         
  8.        attr            :所创建的线程属性。 
  9.        start_routine   :即将运行的线程函数。                     
  10.        art             :传递给线程函数的参数。  
  11. * Output      :  
  12. * Return      : 创建线程成功时,函数返回0, 
  13.                 若不为0则说明创建线程失败。 
  14. *************************************************/  
  15. int pthread_create(pthread_t *restrict thread,  
  16.                    const pthread_attr_t *restrict attr,  
  17.                    void *(*start_routine)(void*),   
  18.                    void *restrict arg);  
 
  1. /************************************************* 
  2. * Function    : pthread_join 
  3. * Description :  
  4. * Calls       :  
  5. * Called By   :  
  6. * Input       :  
  7.        thread      :等待退出线程的线程号。 
  8.        value_ptr   :退出线程的返回值。  
  9. * Output      :  
  10. * Return      : 如果执行成功,将返回0, 
  11.                 如果失败则返回一个错误号。 
  12. *************************************************/                    
  13. int pthread_join(pthread_t thread,   
  14.                  void **value_ptr);  
 
  1. // 创建一个互斥锁   
  2. pthread_mutex_t mutex=PTHREAD_MUTEX_INITIALIZER;  
  3.   
  4. // 注销一个互斥锁   
  5. int pthread_mutex_destroy(pthread_mutex_t *mutex)  
  6.   
  7. /* 锁操作 */  
  8. // pthread_mutex_trylock()语义与pthread_mutex_lock()类似   
  9. // 不同的是在锁已经被占据时返回EBUSY而不是挂起等待。   
  10.   
  11. // 加锁   
  12. int pthread_mutex_lock(pthread_mutex_t *mutex)  
  13.   
  14. // 解锁   
  15. int pthread_mutex_unlock(pthread_mutex_t *mutex)  
  16.   
  17. // 测试加锁   
  18. int pthread_mutex_trylock(pthread_mutex_t *mutex)  

相关内容