问题标签 [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.
c - 我不能在窗口平台中使用 pthread
我的环境是 Windows8.1(64 位)并使用 Visual Studio 2010。
我确实将所有 *.dll 文件放在了 system32 , SYSWOW64 中(因为我使用的是win8 64bit。)
和链接位置 x64 系统的 *.lib 文件与 VC 2010。
当然,我添加了额外的文件夹 lib forders.. ,包括文件夹.. 等等。
但是当我尝试编译“pthread-used”项目时,发生了致命错误。
-来源
-错误
请帮我
c - 在 Visual Studio 2010 中添加额外的(pthread)dll
我正在尝试在 Visual Studio 2010 中运行生产者-消费者代码。我从下面的位置复制了代码
我的操作系统是 windows (64bit) 我已经从下面的位置下载了所需的 pthread dll、lib 和包含文件夹用于 WINDOWS ..
我可以通过 Visual Studio 2010 的项目属性窗口添加包含和库路径。但是我没有找到通过 c++ 项目的属性窗口添加额外 dll 的选项。我的代码库出现以下错误:
如何解决这个问题呢 ...
c - pthread、Windows 上的 pthread、pthread 故障、链接器错误、msvc 2008/2010 上的 pthread 链接器错误
我在 MSVC 2010 上运行 pthread,并且包含 pthreadVC2 .lib & .dll 。从下面的网站http://sourceware.org/pthreads-win32/ http://web.cs.du.edu/~sturtevant/pthread.html 但我收到这些错误任何人都可以教育我
php - PHP:Pthread + Memcache 麻烦
Memcache 似乎在 pthread 线程中不起作用。
我收到这个警告:
c - Windows 上的 Pthread - 未定义的睡眠引用
我一直在尝试使用 pthreads 实现一个餐饮哲学家解决方案,我尝试在我的 Lenovo yoga2pro pc 上运行它(在 windows 8.1 上运行)即使我通过 mingw 安装管理器安装了 windows 的 pthreads 我得到这个错误:它只如果代码的某些部分中有 sleep() 方法,则会发生。
当我尝试编译另一个没有 sleep() 方法的文件时。这就是我得到的:
它工作得很好。我刚刚开始编写此代码以了解有关线程的更多信息,因为我正在尝试实现将餐饮哲学家解决方案作为一个项目来解决的方法。我不知道我做错了什么。(我尝试在 Windows 上使用 pthread 执行此操作的原因是因为这是必需的)
c++ - Mergesort pThread 实现与单线程花费相同的时间
(我试图尽可能简化这一点,以找出我做错了什么。)
代码的想法是我有一个全局数组 *v (我希望使用这个数组不会减慢速度,线程不应该访问相同的值,因为它们都在不同的范围内工作)并且我尝试创建 2 个线程每个通过调用具有相应参数的函数 merge_sort() 对前半部分和后半部分进行排序。
在线程运行中,我看到进程将使用 80-100% cpu 使用率(在双核 cpu 上),而在没有线程运行时它仅保持在 50%,但运行时间非常接近。
这是(相关的)代码:
//这是2个排序函数,每个线程都会调用merge_sort(..)。这是一个问题吗?两个线程都调用相同的(正常)函数?
//这里我期望创建每个线程并在其特定范围内调用merge_sort(这是原始代码的简化版本,以便更容易找到错误)
//在main中我只是创建了2个线程调用上面的函数
输出(100 万个值):
直接调用 merge_sort 输出,无线程:
输出(1000 万个值):
直接调用 merge_sort 输出,无线程:
解决方案:
我还要感谢 WhozCraig 和 Adam,因为他们从一开始就暗示了这一点。
我已经使用了该inplace_merge(..)
函数而不是我自己的函数,并且程序运行时间与现在一样。
这是我的初始合并函数(不确定是否是初始的,我可能已经修改了几次,现在数组索引也可能是错误的,我在 [a,b] 和 [a,b] 之间来回切换) ,这只是最后一个被注释掉的版本):
所有这些都被替换为:
编辑,有时在我的 3ghz 双核 cpu 上:
100 万个值:1 个线程:7.236 s 2 个线程:4.622 s 4 个线程:4.692 s
1000 万个值:1 个线程:82.034 秒 2 个线程:46.189 秒 4 个线程:47.36 秒
c++ - C ++可以保持打开pthread(Windows)以多次运行函数吗?
我目前正在测试 pthreads 的使用情况,以加速我拥有的其他代码。基本上我的代码目前拥有的是几个最终进行矩阵计算的 for 循环。我尝试生成将同时进行这些计算的线程,最终将运行时间缩短了一半。
我的问题是,有没有办法最初产生这些 pthread,让它们运行函数,然后再次使用它们来运行相同的函数而不关闭它们?或者执行任务后是否需要关闭它们?
顺便说一句,我正在使用 Windows,使用 pthreads 库。
c++ - 在 .h 和 .cpp 中实现 pthread
在 pthreads 中为 pthread_create 方法传递函数作为参数的正常方法是
而 func() 被声明/定义为
但是每当我想在 Visual Studio 2012 中的单独 .cpp 中调用 pthread_create 时,它都会出现以下错误,如图所示
但是如果我定义函数静态,错误就会消失。
有什么建议如何在不使其静态的情况下无错误地传递它?
c++ - 带有 Eclipse 64 位的 MinGW 32 上的 pthread
我有 MinGW32 并在 Eclipse 上使用 pthread 构建一小段代码。代码编译和链接成功,但在以非零退出值运行时终止。对此没有任何警告。但是,在调试它时,它工作正常。请建议。