Linux系统中的线程创建,多任务开发中,线程是必要

231人浏览   2024-04-13 12:36:04

进程是操作系统中正在运行的一个应用程序,线程是操作系统分配给处理器时间单元的基本单元。

在linux系统中,进程需要系统分配独立的地址空间,一个进程中可以运行多个线程,共用进程的地址空间。

线程分为用户线程和内核线程,用户线程是由程序本身和线程库调度的;内核线程的创建和释放是由内核的需求决定的,用于执行指定的函数,

Linux系统的多线程遵循POSIX线程接口,pthread, 必须包含pthread.h头文件。

1 创建线程

#include<pthread.h>

Int pthread_create(pthread_t *tid,const pthread_attr_t *attr,void *(*func)(void*),void *arg)

执行成功,返回0,若出错返回非零值。

第一个参数是线程ID的指针

第二个参数是设置线程属性,一般默认为NULL

第三个参数是线程运行的起始地址

第四个参数是线程运行函数的参数

2 等待线程结束

#include<pthread.h>

int pthread_join(pthread_t tid,void *status)

若成功返回0,否则返回错误码

第一个参数是等待结束线程ID

该函数用于阻塞线程,执行这个函数后线程将一直被等待,知道 线程执行完毕。

相关推荐