问题标签 [createthread]

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.

0 投票
1 回答
231 浏览

c++ - C++ CreateThread() LPSTR 参数错误 Windows 7 (64)

我正在尝试使用 CreateThread() 函数创建一个简单的程序。我需要将LPSTR参数传递给 struct 中的新线程函数pDataArray。我遵循 MSDN 的示例(MSDN CreateThread() Example)。

主函数(CreateNewThread)从另一个函数接收LPSTR command带有示例文本“hi all”的变量并正常工作,它正确地引入到结构中,但是当我尝试将它发送到线程函数(MyThreadFunction)时它返回了很多奇怪字符,我想内存转储:

CreateThread函数的代码是:

MyThreadFunction() 的代码是:

有人能告诉我将LPSTR变量发送到线程函数的正确方法是什么吗?

谢谢指教。

0 投票
0 回答
378 浏览

c++ - OpenVPN TAP I/O 操作永远阻塞

当调用 GetOverlappedResult 时,以下代码永远挂起,我在 windows 异步 IO 操作方面没有太多经验,我根据自己的理解实现了它。我用它来访问虚拟网络接口(通过 openvpn - TAP/TUN 接口,其内核驱动程序安装正确)。

我找到了它挂起的地方,但我不知道它挂起的原因?

上面的代码在使用 CreateThread API 创建的线程内的无限 while 循环中执行。

我是否正确实现了异步操作?

GetOverlappedResult 挂起时可能出现哪些情况?

PS:很少有 ReadFile 调用成功,它可以成功读取以太网帧,但大约挂起。15-20 个电话。

0 投票
0 回答
655 浏览

c++ - GetExitCodeThread() 获取的值错误

我使用CreateThread()有效参数创建了一个线程。基于一个简单的if-else条件,我返回DWORD设置为 1 的类型变量。

然后内部函数:

WaitForSingleObject() INFINITE撒谎。然后我调用函数GetExitCodeThread()

我得到了不同的价值,无论我做什么,它都不会改变。它始终是 6。

我也很困惑是否应该使用WaitForSingleObjectas wellGetExitCodeThread或者我应该只使用其中之一。MSDN上没有提到两者是相互替代的。但我只是想,当WaitForSingleObject成功时,图片中的线程句柄可能会被释放,或者在最坏的情况下可能会分配给不同的线程。那就GetExitCodeThread惨败了。

0 投票
0 回答
113 浏览

windows - POSIX 线程与 Windows 线程

我对 pthreads 有一些经验,并且正在研究 windows 中的线程。在大多数情况下,它们看起来非常相似,但我对一件事感到困惑。使用 pthreads,父进程的堆与线程共享,这意味着它们都可以访问相同的内存。Windows似乎不是这种情况,或者我想念一些东西。使用 windows 是否必须使用共享内存对象来访问所有人使用的变量?

0 投票
1 回答
138 浏览

c++ - 多线程程序只执行最后创建的线程?

我创建了 4 个线程,但是当我执行这个程序时,我得到这个作为输出:

我有两个问题:

  1. 我只创建了 4 个线程,为什么它显示线程 #: 5
  2. 创建的所有 4 个线程都应该按顺序运行,但为什么它只运行最后一个创建的线程?

源代码:

0 投票
0 回答
152 浏览

c - CreateThread 是否提供内存顺序保证?

虽然 pthread_create 提供了内存顺序保证(The Open Group Base Specifications Issue 7: Memory Synchronization),但Synchronization and Multiprocessor Issues: Memory Ordering中的措辞和CreateThread 函数中缺少措辞表明 CreateThread 没有。

0 投票
1 回答
346 浏览

winapi - 使用 CreateThread 调用类函数时出现错误 C3867

我尝试将一个类函数传递给从主函数调用的 CreateThread,但出现错误:

错误 C3867:“Display::fill_matrix”:函数调用缺少参数列表;使用 '&Display::fill_matrix' 创建指向成员的指针



0 投票
1 回答
1014 浏览

c++ - C++ CreateThread() 奇怪的错误

我尝试在我的应用程序中使用 CreateThread() 函数,但我得到了奇怪的错误,确切地说:

第二个指示线

在 winbase.h 中,我不明白发生了什么,在示例中是相同的,但没有错误。我做错了什么?

代码:

0 投票
2 回答
263 浏览

c# - C++中的函数指针

我使用CreateThread 函数在 C++中编写了一个类似C# BackgroundWorker的类。我的代码:

背景工作者.h:

BackgroundWorker.cpp:

然后我创建了另一个派生自 BackgroundWorker 的类:

听线程.cpp:

但是该行给了我以下错误:

非标准语法;使用 '&' 创建指向成员的指针

0 投票
1 回答
3387 浏览

c - SetWindowsHookEx 用法的区别

首先:我在 Windows XP - 32 位上使用 Visual Studio 2010。

现在我正在尝试编写一个 DLL,它将使另一个应用程序能够使用低级键盘挂钩。

即使我让它工作了——我现在想明白为什么。

非工作代码:

工作代码:

唯一的区别是我将SetWindowsHookEx-call 从DllMain移至ThreadProc.

问题是:为什么会有所不同?