码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • pthread_create函数的应用


    1、pthread_create: 创建线程   

        #include

        int pthread_create(pthread_t *thread, const pthread_attr_t *attr,

                           void *(*start_routine) (void *), void *arg);

       Compile and link with -pthread.  //编译时需要链接pthread库

    例如:gcc pthread_create.c  -lpthtread

        参数:

            thread --- 线程ID

            attr   --- 线程属性,一般为NULL

            start_routine --- 线程执行函数

            arg    --- 向start_routine传参的参数

        返回值:

            成功:0

            失败:错误码

    代码如下:

    #include
    #include
    #include
    #include

    void *thread_func(void *arg)
    {
        //printf("arg: %s\n", (char *)arg);
        printf("arg: %d\n", (int)arg);
        while (1)
        {
            printf("threading\n");
            sleep(1);
        }
        pthread_exit(NULL);  //退出线程
    }

    int main(int argc, char *argv[])
    { 
        char buf[100] = "hello world";
        int num = 100;
        int err;
        pthread_t thread;
        //err = pthread_create(&thread, NULL, thread_func, buf);
        err = pthread_create(&thread, NULL, thread_func, (void *)num);//创建线程
        if (err != 0)
        {
            fprintf(stderr, "pthread_create: %s\n", strerror(err));
            return -1;
        }
        sleep(1);
        pthread_cancel(thread); //取消线程 

        while (1)
        {
            printf("main........\n");
            sleep(1);
        }

        return 0;
    } 

     

  • 相关阅读:
    论文解析[6] Transformer: Attention Is All You Need
    数据仓库即服务概述
    做SaaS的程序员们,是时候关注企业架构了
    Linux ARM平台开发系列讲解(摄像头V4L2子系统) 2.12.2 摄像头V4L2出图框架介绍
    【Spring】从面向对象再到面向切面
    资深IC工程师的快速学习指南《Verilog语言知识学习快速基础学习》
    远程登录云上显卡(英伟达RTX5000)的主机,解决游戏应用帧率降低的问题
    ROS 机器人操作系统:概述
    springboot使用freemarker导出word
    Python基础知识讲解——main方法
  • 原文地址:https://blog.csdn.net/qq_63626307/article/details/126507654
  • 最新文章
  • Robotics-从笛卡尔坐标到齐次变换,一次理清位置、姿态与位姿
    Python coverage 进阶:从跑命令到“构造“覆盖率报告
    DevOps从持续开发到持续部署
    geo-toolbox 水文插件算法解析:从 Muskingum 到 Muskingum-Cunge
    我用 AI 做完整项目后,总结出一套把需求钉死的工作流
    Python 如何提取 PDF 表格数据并写入 SQLite?
    DTO、VO、PO 到底要不要拆?一篇讲透 Java 实体分层的底层逻辑
    按键接到 STM32 后:GPIO 输入到底读到了什么
    一切都会回潮-写在一个职业周期的低处
    踩坑记:一次Nacos客户端偶发connect timed out全链路排查
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号