在 Windows 上使用 C 语言的线程。简单的例子?

发布于 2024-08-16 08:52:40 字数 1436 浏览 7 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

司马昭之心 2024-08-23 08:52:41

以下是关于如何使用 CreateThread 的 MSDN 示例 () 在 Windows 上。

基本思想是调用 CreateThread() 并向其传递一个指向线程函数的指针,该函数在创建目标线程后将在目标线程上运行。

最简单的代码是:

#include <windows.h>

DWORD WINAPI ThreadFunc(void* data) {
  // Do stuff.  This will be the first function called on the new thread.
  // When this function returns, the thread goes away.  See MSDN for more details.
  return 0;
}

int main() {
  HANDLE thread = CreateThread(NULL, 0, ThreadFunc, NULL, 0, NULL);
  if (thread) {
    // Optionally do stuff, such as wait on the thread.
  }
}

您还可以选择调用 SHCreateThread()——基本思想相同,但如果你要求的话,它会为你做一些 shell 类型的初始化,比如初始化 COM 等。

Here is the MSDN sample on how to use CreateThread() on Windows.

The basic idea is you call CreateThread() and pass it a pointer to your thread function, which is what will be run on the target thread once it is created.

The simplest code to do it is:

#include <windows.h>

DWORD WINAPI ThreadFunc(void* data) {
  // Do stuff.  This will be the first function called on the new thread.
  // When this function returns, the thread goes away.  See MSDN for more details.
  return 0;
}

int main() {
  HANDLE thread = CreateThread(NULL, 0, ThreadFunc, NULL, 0, NULL);
  if (thread) {
    // Optionally do stuff, such as wait on the thread.
  }
}

You also have the option of calling SHCreateThread()—same basic idea but will do some shell-type initialization for you if you ask it, such as initializing COM, etc.

睫毛上残留的泪 2024-08-23 08:52:41

您将使用 CreateThread 函数。

您也提到了信号量。为此,您可以使用 CreateSemaphore

You would use the CreateThread function.

You mentioned semaphores as well. For that you would use CreateSemaphore.

许一世地老天荒 2024-08-23 08:52:41

原子操作和互斥体都很好。我使用 CreateThread 等,而不是 pthreads。

Atomic operations and mutexes are good. I use CreateThread etc, not pthreads.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文