PHP 上下文中线程安全意味着什么? [复制]

2024-03-08

可能的重复:
PHP中什么是线程安全或非线程安全 https://stackoverflow.com/questions/1623914

当某些东西是或不是线程安全时,这意味着什么?

例如,PHP 中的 setlocale() 不是线程安全的:

区域设置信息是按进程维护的,而不是按线程维护的。如果 您正在多线程服务器 API(例如 IIS 或 Apache)上运行 PHP 在 Windows 上,您可能会遇到区域设置突然发生变化的情况 脚本正在运行,尽管脚本本身从未被调用 设置区域设置()。发生这种情况是由于其他脚本在不同的环境中运行 同一进程的线程同时发生,改变 使用 setlocale() 的进程范围区域设置。

http://php.net/manual/en/function.setlocale.php http://php.net/manual/en/function.setlocale.php

这实际上意味着什么?线程安全与否是一件好事吗?

在什么情况下您需要线程安全或非线程安全的解决方案来解决您的问题?


线程安全是一件好事,这意味着虽然可能有多个并发线程,但它们以安全的方式相互通信,不会出现竞争条件、并发问题等。

线程安全是一种计算机编程概念,适用于 多线程程序的上下文。一段代码是线程安全的如果 它仅以线程安全的方式操作共享数据结构, 这使得多个线程可以同时安全执行。 制作线程安全数据结构有多种策略。

Source http://en.wikipedia.org/wiki/Thread_safety.

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

PHP 上下文中线程安全意味着什么? [复制] 的相关文章

随机推荐

  • Shell 命令适用于命令行,但不适用于 PHP exec

    我有一个命令 当直接在命令行上运行时 它可以按预期工作 它运行超过 30 秒并且没有抛出任何错误 当通过 PHP 函数 exec 包含在由 cron 调用的脚本中 通过 PHP 脚本调用相同的命令时 它会抛出以下错误 最长执行时间为 30
  • Windows 下以 cygwin 和 Github 结尾的行

    我希望能够使用 Windows 应用程序的 Github 以及使用 Cygwin 在 Windows 上 的命令行中的 git 来处理我的 git 项目 但当我从一种切换到另一种时 我不断遇到行尾问题 如果使用命令行工具存储库没有更改 它将
  • 如何模拟从不同模块导入的方法中导入的函数[重复]

    这个问题在这里已经有答案了 我有以下功能要测试 my package db engine db functions py from utils import execute cmd from my package db engine db
  • 使用jquery获取facebox div内元素的值

    我的页面上有两个 div 标签 如下所示 当我引用 itemName 元素的值时 使用 itemName val 我在两个 div 中都有 我总是得到第一个 div 中元素的值 即 空白 有没有办法使用 jquery 获取第二个 div 中
  • 在所有地址上运行我自己的用户脚本有风险吗?

    Tampermonkey 对于大多数浏览器 和 Greasemonkey 对于 Firefox 都支持 match and include指令 当我开始阅读它们之间的区别时 结果发现 match有点严格 用户脚本不会在某些地址上启动 这可能
  • 如何获得具有固定总和和大小的随机数列表

    如何根据给定大小和期望总和获取随机数列表 完全支持 i hava a code sum int ts https github com bluelovers random blob master src distributions sum
  • IronPython 3 兼容性

    我喜欢Python语言 主要使用标准CPython 3 版本来进行简单的脚本编写和作为算法沙箱 有时我需要 NET集成 所以我使用IronPython 它现在是2 7版本 我更喜欢 3 因此不愿意使用旧的 2 7 有没有关于何时发布以及迁移
  • kusto now() 函数在单个查询中返回相同的值

    我正在尝试检测 kusto 函数的一部分来检查不同场景下的执行时间 但是我找不到打印前后时间的方法 print now
  • Heroku 上的 Django 与 PostgreSQL 应用程序不同步

    我正在尝试按照以下教程在 Heroku 上运行 Django Heroku 上的 Django 入门 https devcenter heroku com articles django 一切都运行良好 直到我到达syncbd部分 同步数据
  • java中的递归方法记忆化

    我正在做家庭作业 我已经筋疲力尽了 我是编程新手 这是我的第一堂编程课 这就是问题 考虑 Collat z java 中的以下递归函数 它与数论中一个著名的未解决问题 称为 Collat z 问题或 3n 1 问题 相关 public st
  • 动态组件的 Angular i18n 翻译

    我已经阅读了大量有关 Angular 2 i18n 的文章 并且一直在寻找尝试构建动态组件的最佳方法 问题 i18n 无法将变量文本转换为动态 xlf 文件 i18n 使得使用 i18n 属性创建带有文本的动态组件变得困难 可能的解决方案
  • 尝试在已经呈现的视图控制器上呈现 UIAlertController (null) [Swift]

    我有一个警报视图 试图在照片视图上呈现 照片显示在列表中 并且可以推送到全屏视图 照片视图正在以编程方式显示 我认为这就是导致问题的原因 因为警报视图试图在已经呈现的 照片 视图之上呈现另一个视图 警报视图正在尝试显示 但出现此错误 War
  • 如何接收USB连接状态广播?

    我正在尝试在我的应用程序中检测 USB 连接 即 USB 是否连接到设备 它正在 Marshmallow 6 0 1 sdk23 上进行测试 但我无法接收广播操作 ACTION USB DEVICE ATTACHED 或 ACTION US
  • 是什么导致 Java 中的旋转和同步时间过长?

    在 Java 8 Update 45 中 将这些选项添加到java call XX PrintGCApplicationStoppedTime XX PrintSafepointStatistics XX PrintSafepointSta
  • 替换 Apache POI 中的表列值

    我正在使用 Apache POI 3 7 我正在尝试替换Word文档 docx 中表列的值 但是 我所做的是它不断附加文档中当前值的值 但如果表列值为空 则会放置该值 你能给我一些如何解决这个问题的想法吗 下面是我到目前为止所做的代码 提前
  • 如何在 Eclipse 中使用“ADT 21.0.1”为 Android 模拟器安装皮肤(来自三星)?

    如何在 Eclipse 中使用 ADT 21 0 1 为 Android 模拟器安装皮肤 来自三星 我可以用 ADT 16 0 1 做到这一点 我使用了三星 Galaxy S2 的皮肤http developer samsung com a
  • R数组取子集:灵活使用drop

    正如已注意到的那样R数组取子集 长度为1时维度丢失 https stackoverflow com questions 12755397 subsetting r array dimension lost when its length i
  • 多用户共享Excel文件并自动刷新

    关于让共享 Excel 文件自动刷新有什么建议吗 我们需要 3 个用户来处理文件服务器上的 Excel 文件 一名用户将进行更改 其他人是只读的 但他们必须尽快看到更改 有关如何执行此操作的任何指示 在您的 Excel 文件中 您需要启用工
  • Fetch API 和 Axios 是否将 304 响应视为 200?

    我不知道是否会这样 但是如果我的服务器以 HTTP 状态代码 304 响应 Fetch API 特别是response ok and axios get 看到响应为 200 吗 两者的文档都谈到 如果响应代码在 200 299 范围内 则请
  • PHP 上下文中线程安全意味着什么? [复制]

    这个问题在这里已经有答案了 可能的重复 PHP中什么是线程安全或非线程安全 https stackoverflow com questions 1623914 当某些东西是或不是线程安全时 这意味着什么 例如 PHP 中的 setlocal