问题标签 [pthreads-win32]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 使用多线程从 PHP 调用 Python 脚本
我正在使用 PHP 在浏览器中显示 Python 输出。由于 Python 脚本需要很长时间才能打印输出,因此用户界面会挂起,直到 Python 脚本完成执行。
在 PHP 中启用了 Pthreads for Windows 以对调用 Python 脚本的shell_exec()函数进行多线程处理。尽管使用了 Pthreads,用户界面仍然挂起。
这是代码:
即使使用多线程,用户界面(由 PHP 生成)在调用 Python 神经网络脚本时也会挂起。
可能是什么原因 ?
c++11 - Windows pthread 中的内存泄漏。`pthread_join` 不会释放内存
简单的测试:
这里说:
线程是分配的资源,您在退出之前没有释放它。你应该打电话
pthread_join
;这也将消除对您的骇人听闻和不正确的睡眠循环的需要。有可能即使你修复了这个问题,valgrind 仍然会看到“泄漏”,因为 POSIX 线程的一些实现(我猜你正在使用 glibc/NPTL)缓存并重用线程资源,而不是完全释放它们。我不确定 valgrind 是否可以解决这个问题。
但我已经使用pthread_join
. 我使用 VS2015 及其堆分析器。问题可能出在pthread
我的特定实施中吗?我用的是宋东升的 PAL
导致内存泄漏:
每个 pthread 24 个字节。pthread_join()
必须释放内存,但没有。所以我想实现是错误的。请确认或反驳这一点。
windows - pthreads-win32 2.10 为 x86 和 x64 预构建的 lib/dll
我正在尝试为 x86 和 x64 找到 pthreads-win32 v2.10(又名 pthreads4w)的预构建库和 dll,类似于v2.9.1现有的库和 dll
源代码确实存在于项目的网站中,但我能找到的唯一预构建版本是MinGW32,它似乎没有 x64 dll 和库。
谁能帮我这个?
c++ - pthreads 多线程矩阵乘法
我目前正在尝试使用 pthreads.h 编写一个用于多线程矩阵乘法的 C++ 程序。
我正在尝试按如下方式创建线程
然后创建执行我的乘法函数的线程,该函数的编码如下
我的错误在于我的乘法函数。我正在尝试找到一种兼容的方式来为每个线程传递 x 和 y 坐标,因此它具体知道要计算哪个总和,但我不确定如何以 pthreads_create() 函数可接受的方式执行此操作.
更新:我知道我必须使用一个结构来完成这个
但我无法让乘法函数接受结构
android - android中的pthread_setcanceltype解决方法
我正在为我的第一个支持多线程的工具编写代码,但我也想为 Linux 和 Android 制作我的工具,并且pthread_cancel不能在 android 中使用,所以我正在尝试制作单独的头文件Universal -threading.h我将为 android 声明pthread_cancel函数。
因此,当它将在 Android 上编译时,universals-threading.h将被包括在内,否则不包括在内。
我还为 android 做了一个pthread_setcancelstate的函数这是片段
但是现在我对 pthread_setcanceltype 函数感到困惑,所以如果您提供一个工作代码块或 pthread_setcanceltype android 版本的片段,这对我非常有帮助。
简而言之,我想为 android 创建一个假的 pthread_setcanceltype 函数
我不是专业的,它是我的第一个工具,而且我对线程和 pthreads 也很陌生,所以我希望你在回答我时会考虑到这一点。
c++ - 将 HAVE_STRUCT_TIMESPEC 指令传递给 NMAKE 命令行并不能修复 pthread
我目前正在尝试从这里构建 pthread-win32(版本 2.7.0)。我已签出该项目,并且可以NMAKE VC-static
从 VS2015 开发人员命令提示符运行和查看结果。构建时出现错误:
错误 C2011:“timespec”:“struct”类型重新定义
我认为它可以通过添加预处理器指令HAVE_STRUCT_TIMESPEC
(source)来解决。
为了显示修复程序的正确应用,我决定先让警告静音。特别是警告:
警告 C4996:“_ftime64”:此函数或变量可能不安全。考虑改用 _ftime64_s。要禁用弃用,请使用 _CRT_SECURE_NO_WARNINGS。详细信息请参见在线帮助。
这个明确告诉你定义_CRT_SECURE_NO_WARNINGS
. 根据这里的MS,我们应该在命令行上使用-D
或/D
定义预处理器指令。我可以通过执行以下操作成功地使警告静音:
但是当我做同样的事情来修复错误时:
它没有解决。
在 pthread 错误修复报告和这里,我如何在我的情况下应用这个修复?
c - pthread_join 不等待线程完成
我在 Windows 上使用 pthreads.h 来做一个简单的光线追踪器。似乎主要功能没有等待线程完成。当我像这样运行程序时(我现在简化了它,只测试线程,但它仍然给出错误):
图像不会完成,只会渲染几个像素。但是,当我添加睡眠时,图像确实完成了。让我相信 pthread_join 不会等待,即使文档是这样说的。我在这里想念什么?
编辑:添加了错误检查,它为 pthread_join 返回错误代码 3。
php - PHP 中的 pthread 问题
我对 PHP 中的 pthreads 有疑问。
当我启动 apache 时,我看到如下错误:
当我在 CMD 中执行脚本时,我有一个警告:
我将 pthreadVC2.dll 复制到:
我将最后一个文件 php_pthreads.dll 复制到:
我添加到 php.ini 行:
我的配置:
- Windows 10 上的 XAMPP
- PHP 版本 7.3.0
- 编译器:MSVC15(Visual C++ 2017)
- 架构:x86
- 线程安全已启用
- 线程 API 是 Windows 线程
- php_threads 3.1.6 x86 从https://windows.php.net/downloads/pecl/releases/pthreads/3.1.6/下载
我在 php 7.2.x 中尝试过,但遇到了同样的问题,但出现了其他 apache 启动错误消息。也许有人可以帮助我。
php - PHP 启动:无法加载动态库,Windows
我已经安装了 PHP 7.4C:\Program Files\Php74
并且它正在工作,但是当我尝试加载扩展时,出现这样的错误:
PHP 警告:PHP 启动:无法加载动态库 'php_pthreads.dll'(已尝试:C:\\php\\ext\\php_pthreads.dll ...
哪个C:\php\
不存在,所以我添加extension_dir = "C:\Program Files\Php74\ext"
到 php.ini 并且刚刚更新的路径出现相同的错误:
PHP 启动:无法加载动态库 'php_pthreads.dll'(尝试:C:\\Program Files\\Php74\\ext\\php_pthreads.dll ...
- 文件
C:\Program Files\Php74\ext\php_pthreads.dll
存在 - PHP 路径已添加到 Windows PATH
- 已安装 Microsoft Visual C++ 2017、2015 和 2013。
- 视窗 10 1909 64 位
- 阿帕奇 2.4
已解决:
它通过此线程的详细信息修复:https ://stackoverflow.com/a/54024356/547185