分离线程与可连接 POSIX 线程

2023-12-01

我一直在使用pthread用于在 C 中创建和连接线程的库。

  1. 我什么时候应该从一开始就创建一个分离的线程?与可连接线程相比,它是否具有任何性能优势?

  2. 不这样做是否合法pthread_join()在可连接(默认)线程上?或者这样的线程应该始终使用detach()之前的函数pthread_exit()ing?


  1. 当您知道不想等待时,创建一个分离线程pthread_join()。唯一的性能优势是,当分离线程终止时,可以立即释放其资源,而不必等待线程加入才能释放资源。

  2. 不加入可连接线程是“合法的”;但这通常是不可取的,因为(如前所述)在加入线程之前资源不会被释放,因此如果您不加入它,它们将无限期地保持绑定状态(直到程序退出)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

分离线程与可连接 POSIX 线程 的相关文章

  • 在模板类中声明模板友元类时出现编译器错误

    我一直在尝试实现我自己的链表类以用于教学目的 我在迭代器声明中指定了 List 类作为友元 但它似乎无法编译 这些是我使用过的 3 个类的接口 Node h define null Node
  • 在 xaml 中编写嵌套类型时出现设计时错误

    我创建了一个用户控件 它接受枚举类型并将该枚举的值分配给该用户控件中的 ComboBox 控件 很简单 我在数据模板中使用此用户控件 当出现嵌套类型时 问题就来了 我使用这个符号来指定 EnumType x Type myNamespace
  • C# 异步等待澄清?

    我读了here http blog stephencleary com 2012 02 async and await html that 等待检查等待的看看它是否有already完全的 如果 可等待已经完成 那么该方法将继续 运行 同步
  • 仅使用containerd(不使用Docker)修剪容器镜像

    如果我刚刚containerd安装在 Linux 系统上 即 Docker 是not安装 如何删除未使用的容器映像以节省磁盘空间 Docker 就是这么方便docker system prune https docs docker com
  • 通过引用传递 [C++]、[Qt]

    我写了这样的东西 class Storage public Storage QString key const int value const void add item QString int private QMap
  • 机器Epsilon精度差异

    我正在尝试计算 C 中双精度数和浮点数的机器 epsilon 值 作为学校作业的一部分 我在 Windows 7 64 位中使用 Cygwin 代码如下 include
  • 执行命令而不将其保留在历史记录中[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 在进行软件开发时 经常需要在命令行命令中包含机密信息 典型示例是将项目部署到服务器的凭据设置为环境变量 当我不想将某些命令存储在命令历史记
  • 如何在 C# 中打开 Internet Explorer 属性窗口

    我正在开发一个 Windows 应用程序 我必须向用户提供一种通过打开 IE 设置窗口来更改代理设置的方法 Google Chrome 使用相同的方法 当您尝试更改 Chrome 中的代理设置时 它将打开 Internet Explorer
  • 从经典 ASP 调用 .Net C# DLL 方法

    我正在开发一个经典的 asp 项目 该项目需要将字符串发送到 DLL DLL 会将其序列化并发送到 Zebra 热敏打印机 我已经构建了我的 DLL 并使用它注册了regasm其次是 代码库这使得 IIS 能够识别它 虽然我可以设置我的对象
  • 如何在 C++ 中标记字符串?

    Java有一个方便的分割方法 String str The quick brown fox String results str split 在 C 中是否有一种简单的方法可以做到这一点 The 增强分词器 http www boost o
  • SSH,运行进程然后忽略输出

    我有一个命令可以使用 SSH 并在 SSH 后运行脚本 该脚本运行一个二进制文件 脚本完成后 我可以输入任意键 本地终端将恢复到正常状态 但是 由于该进程仍在我通过 SSH 连接的计算机中运行 因此任何时候它都会登录到stdout我在本地终
  • 人脸 API DetectAsync 错误

    我想创建一个简单的程序来使用 Microsoft Azure Face API 和 Visual Studio 2015 检测人脸 遵循 https social technet microsoft com wiki contents ar
  • C# 列表通用扩展方法与非通用扩展方法

    这是一个简单的问题 我希望 集合类中有通用和非通用方法 例如List
  • 如何定义一个可结构化绑定的对象的概念?

    我想定义一个concept可以检测类型是否T can be 结构化绑定 or not template
  • 复制目录下所有文件

    如何将一个目录中的所有内容复制到另一个目录而不循环遍历每个文件 你不能 两者都不Directory http msdn microsoft com en us library system io directory aspx nor Dir
  • 编译时展开 for 循环内的模板参数?

    维基百科 here http en wikipedia org wiki Template metaprogramming Compile time code optimization 给出了 for 循环的编译时展开 我想知道我们是否可以
  • C# 中最小化字符串长度

    我想减少字符串的长度 喜欢 这串 string foo Lorem ipsum dolor sit amet consectetur adipiscing elit Aenean in vehicula nulla Phasellus li
  • MySQL Connector C/C API - 使用特殊字符进行查询

    我是一个 C 程序 我有一个接受域名参数的函数 void db domains query char name 使用 mysql query 我测试数据库中是否存在域名 如果不是这种情况 我插入新域名 char query 400 spri
  • 现代编译器是否优化乘以 1 和 -1

    如果我写 template
  • 从 mvc 控制器使用 Web api 控制器操作

    我有两个控制器 一个mvc控制器和一个api控制器 它们都在同一个项目中 HomeController Controller DataController ApiController 如果我想从 HomeController 中使用 Dat

随机推荐

  • 两个移动物体与纬度/经度坐标的交点

    尽管我已经阅读了几篇文章 但到目前为止我还无法真正解决这个问题 希望有人可以在这里提供帮助 事实 已知变量 地球表面上的两个移动物体 均具有当前已知的纬度 经度坐标 两个物体的速度也是已知的 以米 秒为单位 一个物体的方向 角度 是已知的
  • HybridAuth / PHP Facebook SDK 身份验证失败(getUser 返回 0)

    我正在尝试配置 HybridAuth 目前还处于早期阶段 现在我想做的就是连接并确保 HA 将重定向到 Facebook 并提示安装应用程序 然后在用户返回时对用户进行身份验证 我正在手动调用以下位置 http mydomain com a
  • 打字机效果 Pygame

    这个问题确实很难问 但我知道 Stack Overflow 的你们都是最聪明的人 我完全不知道为什么会发生这个问题 我对 Python 和 Pygame 相当熟悉 所以任何关于如何改进代码的建议都会带着提高我的技能的热爱而被接受 我正在创建
  • 如何关闭 UI KeyboardType NumberPad?

    我试图隐藏数字键盘 但我不想实现按钮 当用户点击文本字段外部时 有没有办法关闭数字键盘 这是你读到它并说 这很简单 你只是 的问题之一 然后你就去做 让它变得超级复杂 然后意识到事情不必那么复杂 我想出的答案是使用隐形的 我相信它会帮助其他
  • 如何使用 ggplot2 在 y 轴截距(y 轴)上添加点

    我有一个散点图 其中 y 轴缩放比例在某个点发生变化 以绘制具有某些极值的数据 我试图在 y 轴上添加某种视觉提示 指示缩放在该点发生变化 这是一个情节的例子 library scales library ggplot2 set seed
  • Spring:PropertyPlaceholderConfigurer找不到属性文件

    我在使用 Spring 时遇到一个奇怪的问题PropertyPlaceholderConfigurer 我的一种豆子设计如下
  • C++ 纯虚函数的多重继承问题

    我制作了一个最小的示例来复制我在更复杂的类层次结构中遇到的问题 include
  • Django - 模型 - 递归检索叶节点的父节点

    我有一个用户模型类定义如下 class CustomUser models Model user models OneToOneField User slug models SlugField max length 35 unique Tr
  • 导入错误:没有名为 pynput.keyboard 的模块

    我有问题 找不到任何帮助 想法是我无法导入 pynput 我做了 pip install 它显示的是 gt Traceback most recent call last File sb py line 1 in
  • C++读取带空格的字符串

    我有这样的文件 59 137 New York 137 362 Syracuse 216 131 New Jersey 我想将其读入一个结构 X Y 城市名称 char city 100 int x y f open map txt f g
  • 删除 XWPFHyperlinkRun Apache POI

    我和这位小伙伴有同样的问题 如何通过 poi 删除 XWPFHyperlinkRun 由于 XWPFHyperlinkRun 元素 我无法将 doc 转换为 pdf 我可以删除一个简单运行的段落 如下所示 for XWPFParagraph
  • NumberPicker 在 setValue() 之后显示错误的值

    我试图创建一个可以满足我的需求的 NumberPicker 但我偶然发现了一些东西 但我不明白它是什么 行为很简单 我有三个数字选择器 每个数字选择器的值可以从 15 到 15 之间 当用户按下Ok按钮选择的值 如果有效 将保存在 结构 和
  • 如何计算 unix 中给定日期之前的日期?

    我有两个变量 X 和 Y X 的值将以格式给出的日期mmddyy我想计算日期前那个日期and以格式返回yyyymmdd 让我举一个例子 当X 091509 时 mmddyy格式 Y 应为 20090914 yyyymmdd format d
  • Android popupWindow,无法获取弹出窗口中的元素

    我在抓取我的东西时遇到问题Buttons 和 my 中的其他元素PopupWindow 使用debugger它只是报告为null private void initiatePopupWindow try We need to get the
  • 视图有什么用?

    我只是想大致了解 RDBMS 中视图的用途 也就是说 我知道什么是视图以及如何创建视图 我也知道我过去用它们做什么 但我想确保我彻底了解视图的用途和视图不应该用途 进一步来说 视图有什么用 是否存在某些情况下 当您不应该使用视图时却很想使用
  • 如何在 PHP 中使用准备好的语句从 mysql 更改为 pdo?

    dml insert into bookmark accountId category url hash title created value SESSION accountId POST category POST url md5 PO
  • 接口与抽象类

    我有点熟悉抽象类和接口类之间的区别 但是 你认为下面这句话的意思是什么 接口只能定义常量 而抽象类可以有字段 接口只能定义常量 而抽象类可以有字段 接口中的字段是隐式的public static final 抽象类则不然
  • 我可以将枚举添加到现有的 .NET 结构(例如日期)中吗?

    显然 微软的日期结构中没有月份枚举 我想知道是否可以创建一个枚举并将其附加到 DateTime 结构 扩展方法立即浮现在我的脑海中 但我不知道如何使用它们来实现这一点 Dim july As DateTime Months DateTime
  • 为什么循环引用被认为是有害的? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 Locked 这个问题及其答案是locked因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 为什么一个对象引用另一个引用第一个对象的对象是一个糟糕的设计 之间的循环依赖关
  • 分离线程与可连接 POSIX 线程

    我一直在使用pthread用于在 C 中创建和连接线程的库 我什么时候应该从一开始就创建一个分离的线程 与可连接线程相比 它是否具有任何性能优势 不这样做是否合法pthread join 在可连接 默认 线程上 或者这样的线程应该始终使用d