`

Pthread__常用

阅读更多
http://blogold.chinaunix.net/u/12909/showart_2183244.html
http://blog.csdn.net/yang_dk/archive/2008/05/23/2471891.aspx
http://www.newsmth.net/pc/pccon.php?id=6592&nid=379676

//  create  a  new  thread,successful return zero
int pthread_create(
pthread_t *restrict thread,           //线程句柄
const pthread_attr_t *restrict attr,  //线程属性:优先级、初始栈大小,是否守护线程。缺省NULL
void *(*start_routine)(void*),        //函数地址
void *restrict arg);                  //函数参数


//  线程显式退出
void pthread_exit(void *value_ptr);

pthread_attr_init (attr)
pthread_attr_destroy (attr)



//  return the thread ID of the calling thread.
pthread_t pthread_self(void);

//  compare the thread IDs t1 and t2.
int pthread_equal(pthread_t t1, pthread_t t2);


//  等待线程终止,获取返回值
int pthread_join(pthread_t thread, void **value_ptr);
//  脱离
int pthread_detach(pthread_t thread);

pthread_attr_init(&attr);
   pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE);
pthread_attr_destroy(&attr);


pthread_attr_setdetachstate (attr,detachstate)
pthread_attr_getdetachstate (attr,detachstate)



pthread_mutex_t mutexsum;

pthread_mutex_init(&mutexsum, NULL);

   pthread_mutex_lock (&mutexsum);
	……
   pthread_mutex_unlock (&mutexsum);

pthread_mutex_destroy(&mutexsum);


//  request that a signal be delivered to the specified thread.
int pthread_kill(pthread_t thread, int sig);

//  request that thread be canceled
int pthread_cancel(pthread_t thread);

/*
  线程创建、等待、结束、返回数据
  线程资源共享
  同步、异步
*/


00疼啊!windows下的 pthread_t竟然是个结构体,
linux下边,却是 typedef unsigned long int pthread_t;
无聊。。。!!!

/*
 * Generic handle type - intended to extend uniqueness beyond
 * that available with a simple pointer. It should scale for either
 * IA-32 or IA-64.
 */
typedef struct {
    void * p;                   /* Pointer to actual object */
    unsigned int x;             /* Extra information - reuse count etc */
} ptw32_handle_t;

分享到:
评论

相关推荐

    pthread(arm_linux).zip_ARM Linux_arm_arm linux pthread_arm pthre

    常用函数有`pthread_cond_init()`、`pthread_cond_wait()`和`pthread_cond_signal()`。 3. 信号量:一种计数型同步机制,可以实现线程间的资源控制和同步。`sem_open()`、`sem_post()`和`sem_wait()`等函数用于信号...

    pthread经典用法

    Mutex的常用函数包括: 1. 初始化:`pthread_mutex_init()`用于初始化Mutex。 2. 加锁:`pthread_mutex_lock()`将Mutex锁定,如果已被其他线程锁定,则当前线程会被挂起。 3. 尝试加锁:`pthread_mutex_trylock()`...

    学习RTlinux常用的函数.pdf

    "RTLinux常用函数详解" RTLinux是实时操作系统,实时应用程序分为两部分:内核部分和应用部分。应用部分需要和内核部分通过FIFO进行数据交换和控制,並且需要对底层的东西有較高的要求,包括掌握RTLinux的API和...

    linux多线程编程指南

    - **Pthreads库**:最常用的线程库之一,提供了丰富的API用于线程管理。 - **线程函数原型**:通常采用`void* thread_func(void *arg)`的形式。 - **创建缺省线程:** - 使用`pthread_create()`函数创建新线程,...

    如何在linux进行线程编程

    #### 其他常用pthread函数 **5.1 获得本线程ID** `pthread_self()`函数返回当前线程的标识符。 **5.2 判断两线程是否为同一线程** 使用`pthread_equal(pthread_t thread1, pthread_t thread2)`函数来判断两个...

    RTlinux常用的函数[借鉴].pdf

    RTLinux常用的函数 RTLinux是一种实时操作系统,广泛应用于工业控制、机器人控制、医疗设备等领域。RTLinux的程序开发需要对底层的东西有较高的要求,包括了解RTLinux的API、Linux内核编程和硬件部分的掌握。本文档...

    linux线程四个常用函数源码例子

    本主题将深入探讨Linux线程的四个常用函数,并通过源码例子来帮助理解其工作原理。 1. **pthread_create()**: `pthread_create()` 是创建新线程的主要函数,定义在`<pthread.h>`头文件中。它接受一个`pthread_t`...

    sun多线程编程

    - **pthread库**: 是最常用的多线程编程库,提供了丰富的API来创建和管理线程。 **创建缺省线程** - 使用`pthread_create`函数创建线程,通常会指定默认属性来简化操作。 **等待线程终止** - `pthread_join`函数...

    由浅入深Linux下pthread线程库介绍[归类].pdf

    Linux下最常用的线程库是遵循POSIX标准的pthread线程库。pthread的实现是通过系统调用clone()这一Linux特有的系统调用来实现。 线程创建 pthread_create函数用来创建一个线程,其原型为: ``` extern int ...

    多线程中常用函数

    这些函数包括`pthread_create`、`pthread_mutex_lock`、`pthread_mutex_unlock`、`pthread_join`,并结合一个简单的线程递增计数器的示例进行解释。 首先,`pthread_create`函数用于创建一个新的线程。在`thread_...

    linux多线程编程.pdf

    Linux多线程编程是计算机程序设计中一种允许同时执行多个...以上就是Linux多线程编程中常用的pthread库相关函数及概念的详细知识点。在编程实践中,合理地使用这些工具可以创建高效、稳定和响应快速的多线程应用程序。

    Pthread线程包 Windows移植版

    1. **选择移植工具**:最常用的移植工具有MinGW(Minimalist GNU for Windows)或Cygwin,它们都提供了一个类UNIX环境,使得可以在Windows上编译和运行POSIX兼容的代码。MinGW可以直接编译为Windows原生的可执行文件...

    Linux互斥锁、条件变量和信号量[归类].pdf

    互斥锁是一种信号量,常用来防止两个进程或线程在同一时刻访问相同的共享资源。需要包含头文件 `pthread.h`,互斥锁标识符为 `pthread_mutex_t`。 互斥锁有三种类型: 1. 快速型(PTHREAD_MUTEX_FAST_NP):这是...

    POSIX线程程序设计

    `sem_open()`, `sem_post()`, 和 `sem_wait()`是常用的信号量操作。 4. 读写锁:允许多个读取线程同时访问资源,但写入时会独占资源。用`pthread_rwlock_init()`, `pthread_rwlock_rdlock()`, `pthread_rwlock_...

    Linux下多线程间通信

    互斥锁(pthread_mutex_lock/pthread_mutex_unlock)是一种常用的同步原语,用于保护临界区,即一段必须由单个线程执行的代码。当一个线程调用`pthread_mutex_lock`尝试获取锁时,如果锁当前未被其他线程持有,该...

    C语言的并行魔法:多线程编程实现指南

    常用的同步机制有互斥锁和条件变量。 ###### 使用互斥锁(Mutex) 互斥锁是一种常见的同步工具,它可以保护临界区内的代码,确保一次只有一个线程可以执行该段代码。 ```c #include <pthread.h> #include ...

    linux多线程手册

    - 互斥锁是一种常用的同步机制,用于保护共享资源免受多个线程的同时访问。 ##### 初始化互斥锁属性对象 - 使用`pthread_mutexattr_init`函数来初始化一个互斥锁属性对象。 ##### 销毁互斥锁属性对象 - `pthread...

    Linux C 线程

    在Linux系统中,C语言是开发底层程序的常用工具,特别是在处理并发和多线程时。线程是一种轻量级的进程,它们共享同一地址空间,可以并行执行任务,提高程序的执行效率。本资源集合包含了一系列针对Linux C线程编程...

Global site tag (gtag.js) - Google Analytics