news 2026/5/4 9:04:28

Linux线程操作全指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux线程操作全指南

Linux线程概述与操作指南

线程与进程对比

  • 线程是轻量级进程,属于某个进程,共享进程资源但拥有独立栈区(默认8MB)。
  • 进程资源独立,稳定性更高;线程崩溃可能导致整个进程崩溃。
  • 线程创建开销更小(仅需分配栈区),并发度高于进程。

线程操作步骤(POSIX标准)

创建线程
使用pthread_create函数:

int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void *), void *arg);
  • thread:返回线程ID。
  • attr:线程属性(通常为NULL)。
  • start_routine:线程执行的函数(回调函数)。
  • arg:传递给回调函数的参数。

获取线程ID

pthread_t pthread_self(void);

返回当前线程ID,格式为unsigned long int%lu)。


线程控制函数

线程退出

  • 主动退出pthread_exit(void *retval)
    retval为线程退出状态(如返回结果或错误码)。
  • 强制终止pthread_cancel(pthread_t thread)
    请求终止指定线程。

资源回收

  • 阻塞回收pthread_join(pthread_t thread, void **retval)
    等待指定线程结束并回收资源,retval接收线程退出状态。
  • 自动回收pthread_detach(pthread_t thread)
    设置分离属性,线程退出后系统自动回收资源(无需pthread_join)。

线程信息查看命令

  1. 显示线程详细信息:
    ps -eLo pid,ppid,lwp,stat,comm
    • lwp:线程ID,stat:线程状态。
  2. 查看线程与进程关系:
    ps -eLf

注意事项

  • 稳定性:多线程程序中需确保资源访问同步(如互斥锁)。
  • 错误处理:检查函数返回值(非0表示失败)。
  • 分离属性:设置pthread_detach后不可再调用pthread_join

示例代码片段:

void *thread_func(void *arg) { printf("Thread ID: %lu\n", pthread_self()); pthread_exit((void *)42); // 退出并返回状态 } pthread_t tid; pthread_create(&tid, NULL, thread_func, NULL); int *retval; pthread_join(tid, (void **)&retval); // 阻塞等待并回收
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 3:27:21

传统VS智能:DBC文件处理效率对比实验

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个DBC文件处理效率对比工具。工具应能:1) 自动生成测试用DBC文件 2) 提供传统手动解析方法 3) 实现AI自动解析方法 4) 记录并对比两种方法的处理时间和准确性。输…

作者头像 李华
网站建设 2026/5/4 8:20:29

LobeChat能否支持生物识别?人脸/声纹/步态特征分析应用

LobeChat能否支持生物识别?人脸/声纹/步态特征分析应用 在智能设备日益渗透日常生活的今天,用户对AI助手的期待早已超越“能聊天”的基础功能。我们希望它认识我、理解我,甚至在我开口之前就知道我想做什么——这种“感知型交互”正成为下一代…

作者头像 李华
网站建设 2026/5/1 0:30:56

Miniconda实现Python多版本灵活切换

Miniconda 实现 Python 多版本灵活切换 在机器学习和科学计算的日常开发中,你是否也曾陷入这样的“环境地狱”?😱 “这个项目用 PyTorch 1.13,必须 Python 3.9,但我的系统是 3.11。”“同事跑通的代码,我一…

作者头像 李华
网站建设 2026/5/3 7:06:01

场馆预约小程序开发:解锁 “预约经济” 的高效解决方案

在数字化转型加速的背景下,场馆预约需求已渗透体育、办公、教育、文旅等多个领域。传统线下预约模式存在 “信息不透明、操作繁琐、管理低效” 等痛点,而小程序凭借 “轻量化、高触达、易操作” 的优势,成为场馆预约场景的理想载体。本文从核…

作者头像 李华
网站建设 2026/4/30 23:20:39

Product Hunt 每日热榜 | 2025-12-16

1. Unloop 标语:为注意力缺陷多动症(ADHD)和神经多样性思维者设计的视觉模式映射 介绍:Unloop 是一款可视化的模式映射工具,帮助你识别那些让你感到陷入困境的触发因素、想法、情绪和行为。把这些内容可视化&#xf…

作者头像 李华
网站建设 2026/4/30 23:20:39

软考高项|老金团队三位大神老师,总有一位适合你!

备考软考高项还在为选老师纠结吗? 今天给大家安利老金团队的三大王牌老师 他们各有所长,能cover所有备考需求👇🏆 学术泰斗:金老师▪️ 教学特色:30年高校教学经验,理论功底深厚 ▪️ 拿手绝活&…

作者头像 李华