`
zybing
  • 浏览: 458872 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

【Linux-C】线程

阅读更多

#include <pthread.h>

int pthread_create(

         pthread_t *thread,

         pthread_attr_t *attr,

         void *(*start_routine)(void *),

        void *arg

);

 

 

void pthread_exit(void *retval);

 

int pthread_join(pthread *thread,void **thread_return);

 

pthread_create创建一个线程,

     thread是用来表明创建线程的ID,

     attr指出线程创建时候的属性,我们用 NULL来表明使用缺省属性.

     start_routine函数指针是线程创建成功后开始执行的函数,

     arg是这个函数的唯一一个参数.表明传递给 start_routine的参数. 

 

pthread_exit函数和exit函数类似用来退出线程.这个函数结束线程,释放函数的资源,并在最后阻塞, 直到其他线程使用pthread_join函数等待它.然后将*retval的值传递给**thread_return.

 

由于这个函数释放所以的函数资源,所以retval不能够指向函数的局部变量. 

 

pthread_join和wait调用一样用来等待指定的线程. 

 

pthread_exit在start_routine退出的时候调用;

pthread_join在线程外面调用,接收线程的返回内容

 

例子见:http://www.jfox.info/c/a/id/18081h.html

 

 

分享到:
评论

相关推荐

    Linux下C语言编程--线程操作

    ### Linux下C语言编程——线程操作 #### 前言:Linux下线程的创建与基础使用 在Linux环境中,线程作为一种重要的并发机制,为开发者提供了在单个进程中执行多个任务的能力。相较于进程,线程之间的切换成本更低,...

    linux-c语言编程.pdf

    ### Linux-C语言编程知识点解析 #### 一、基础知识:源程序编译与Makefile的编写 在Linux环境下,C语言编程的入门阶段需掌握的核心技能包括源程序的编译、Makefile的编写、程序库的链接、程序调试以及对头文件和...

    基于 ARM-Linux-gcc、Linux-C、C# 实现的智能楼宇安全监控报警系统

    采用Linux-C提供的多线程技术,同步原始数据采集、视频数据传输、传感器信号传输3个模块,并在板上部署此服务器; 开发Windows平台下客户端,提供图形界面和视频监控、闯入报警、火灾预警等基本功能 产品完成度:...

    linux-c.zip_C语言_Linux C语言_linux_linux-c

    除了上述内容,还有许多高级主题,如信号处理、线程编程、内存管理、网络编程等,都是Linux下C语言开发中不可或缺的知识。通过阅读《Linux下C语言》这本书,你可以更深入地了解这些主题,提高你的编程技能。 总的来...

    Linux-C语言编程系列

    本文将深入探讨Linux系统与C语言的结合,帮助读者掌握在Linux下编写C程序的关键知识点。 首先,了解Linux操作系统是必要的。Linux是一种开源、自由的操作系统,基于Unix,提供了一个强大的命令行接口(CLI)和图形...

    Linux下C语言多线程编程实例

    Linux 下 C 语言多线程编程实例 Linux 下的多线程编程是一种非常重要的技术,在实际应用中有非常广泛的应用范围。多线程编程可以大大提高程序的执行效率和响应速度。但是,多线程编程也存在一些复杂性,例如线程...

    基于ARM-Linux-gcc、Linux-C、C#的智能楼宇安全监控报警系统源码+项目说明.zip

    【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目... 采用Linux-C提供的多线程技术,同步原始数据采集、视频数据).zip

    基于ARM-Linux-gcc、C#的智能楼宇安全监控报警系统源码+项目说明(采用Linux-C提供的多线程技术).zip

    本资源提供基于ARM-Linux-gcc和C#开发的智能楼宇安全监控报警系统源码及项目说明,采用Linux-C提供的多线程技术。该系统旨在提升楼宇的安全性和管理效率,通过实时监控与报警功能,保障人员和财产的安全。源码中包括...

    基于ARM-Linux-gcc、Linux-C、C#的智能楼宇安全监控报警系统开发源码+项目说明(配置传感器和摄像头).zip

    1、该资源内项目代码经过严格调试,下载即用确保可以运行! 2、该资源适合计算机相关专业(如计科、人工智能、大数据、数学、电子信息等)正在做课程... 采用Linux-C提供的多线程技术,同步原始数据采集、视频数据).zip

    linux-c-api-ref.zip_linux api_linux-c-api-ref

    在Linux操作系统中,C语言API(Application Programming Interface)是开发者与操作系统进行交互的主要方式。Linux-C-API-ref资源提供了一个详细的学习指南,涵盖了Linux系统调用和C库函数的使用,对于想要深入理解...

    linux-serial-test-master.zip_SERIAL_linux serial_linux-serial-te

    Linux-Serial-Test可能包含了多线程技术,以支持并发读写操作,提高效率。 6. **设备文件与权限**:在Linux中,串行端口作为设备文件存在,其访问权限由系统管理。理解如何通过chmod命令修改权限以及使用sudo运行...

    linux-c语言-RTSP服务器H264.rar

    Linux操作系统中的C语言编程是构建各种网络服务的基础,包括RTSP(Real-Time Streaming Protocol)服务器。RTSP是一种应用层协议,主要用于控制实时流媒体的播放,如视频和音频。在这个项目中,我们关注的是如何使用...

    Unix-Linux-Windows-OpenMP多线程编程.docx

    Unix-Linux-Windows-OpenMP 多线程编程知识点总结 POSIX 的基本知识 POSIX(Portable Operating System Interface)是一种可移植操作系统接口标准,旨在提供源代码级的软件可移植性。POSIX 标准定义了操作系统应该...

    linux下C语言多线程编程实例

    在Linux环境下进行C语言多线程编程,可以利用POSIX线程库,也称为pthread库。这个库提供了创建、同步和管理线程的一系列接口,使得开发者能够在单个进程中同时执行多个任务,从而提高程序的并行性。下面将详细探讨多...

    Unix-Linux-Windows-OpenMP多线程编程.pdf

    Unix-Linux-Windows-OpenMP 多线程编程 本文档主要介绍 Unix/Linux 多线程编程接口及编程技术,重点讲解 POSIX 的一些基本知识。POSIX 是可移植操作系统接口(Portable Operating System Interface)的首字母缩写,...

    操作系统-4.4-Linux线程编程1

    操作系统-4.4-Linux线程编程1 Linux线程编程是操作系统中的一种重要概念,它允许开发者在单个进程中创建多个线程,从而提高系统的并发性和效率。在本节中,我们将详细介绍Linux线程编程的基本概念、API和示例。 一...

    Linux-c课件

    "Linux C课件"涵盖了这一关键领域的知识,帮助学习者掌握在Linux环境下使用C语言进行程序设计的基础与进阶技巧。 1. **Linux环境介绍** - Linux是一种自由开放的操作系统,基于Unix,具有高度可定制性和稳定性。 ...

    linux-进程和线程

    了解这些基本概念和API后,开发者可以在Linux环境下编写多进程或多线程的C程序,实现高效的并发执行。例如,通过创建子进程处理不同的任务,或在单个进程中使用线程并行执行任务,同时使用互斥锁等同步机制避免数据...

    Linux下C多线程编程

    在Linux系统中,进行C语言的多线程编程主要依赖于POSIX线程接口,即pthread。POSIX标准定义了一套跨平台的线程API,使得开发者能够在多种操作系统上编写可移植的多线程程序。在Linux环境下,pthread库提供了一系列...

    linux中c语言实现多线程ping命令

    c语言实现linux下多线程ping命令,可以ping一个网段,格式为./XX 14.215.177.38 14.215.177.40(以百度ip地址为例)

Global site tag (gtag.js) - Google Analytics