线程的创建

简介: 线程的创建

函数 pthread_create() 用于在一个进程中创建一个线程。语法如下:

#include <pthread.h>
int pthread_create(pthread_t *thread, const pthread_attr_t *attr,
                   void *(*start_routine)(void *), void *arg);点击复制复制失败已复制


函数参数 thread 表示新创建的线程的标识符,或者成为线程的 ID 。参数 attr 指向一个 pthread_attr_t 类型的结构体,用以指定新创建的线程的属性(如线程栈的位置和大小、线程调度策略和优先级以及线程的状态),如果 attr 被设置为 NULL ,则线程将采用默认的属性。参数 start_routine 则是该函数的重点关注对象,通过函数原型可以看出,该参数为函数指针,因此该参数只须传入函数名即可。需要注意的是:传入的函数名并不等同于一般的程序中在主函数中调用子函数。他是线程的执行函数,通俗的说,线程执行的任务将封装在此函数中。参数 arg 作为仅有的参数,用于向第三个参数 start_routine 所指向的函数中传参。


pthread_create() 函数的参数 thread 其类型为 pthread_t ,本质上是一个经强制转化的无符号长整形的指针。一个线程可以通过 pthread_self() 来获取自己的 ID

#include <pthread.h>
pthread_t pthread_self(void);
目录
相关文章
|
8月前
|
调度
线程都有哪些方法?
线程都有哪些方法?
39 0
|
1天前
|
缓存 Java
线程的四种创建方式
线程的四种创建方式
|
8月前
|
Java API 调度
线程的创建和使用
线程的创建和使用
32 0
|
12月前
|
C++
线程的2种创建方式
当一个类继承了Thread类,该类就可以当作线程使用。 run方法其实是一个普通方法,是Runnable接口的一个方法。 Thread类也是进行了重写。 真正实现多线程的start方法中的start0方法。 这是一个本地native方法,由c/c++实现。
63 0
|
Java 调度
Java线程的创建
Java线程的创建
85 0
|
Java 调度
进程和线程、实现多线程的两种方式、设置获取线程名称、线程优先级及线程控制
进程和线程、实现多线程的两种方式、设置获取线程名称、线程优先级及线程控制的简单示例
107 1
进程和线程、实现多线程的两种方式、设置获取线程名称、线程优先级及线程控制
|
设计模式 监控 安全
Java多线程(完整版)、基本概念:程序、进程、线程、线程的创建和使用、线程的生命周期、线程的同步、线程的通信、JDK5.0新增线程创建方式、wait(),notify(),notifyAll()
Java多线程(完整版)、基本概念:程序、进程、线程、线程的创建和使用、线程的生命周期、线程的同步、线程的通信、JDK5.0新增线程创建方式、wait(),notify(),notifyAll()
Java多线程(完整版)、基本概念:程序、进程、线程、线程的创建和使用、线程的生命周期、线程的同步、线程的通信、JDK5.0新增线程创建方式、wait(),notify(),notifyAll()
初识CUDAGPU线程的调用
初识CUDAGPU线程的调用
101 0