问题标签 [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 投票
2 回答
71888 浏览

c - C , 如何使用 pthread_create 函数创建线程

我正在为获取任务的调度队列制作 ac 文件,并将其放入作为链表的队列中。为了做到这一点,我需要使用创建线程

但是,我需要创建另一个函数,该函数将进入“工作”和“参数”变量作为创建函数的参数。我的朋友告诉我,我只需要将任何代码放入无限循环的工作函数中,这样线程就不会死掉。任何人都可以解释每个参数进入pthread_create函数 - 特别是对于workand param?我在谷歌上搜索过这个,但大多数教程都很难理解这个概念......

0 投票
1 回答
1227 浏览

c++ - 在成员函数上使用 CreateThread 的问题

我正在尝试在对象中创建一个线程,但是我收到一条错误消息说'&' : illegal operation on bound member function expression.正在阅读我看到我必须使成员函数静态,但是当我这样做时我收到一条错误消息left of '.dac_ping' must have class/struct/union

这就是我正在尝试的:

0 投票
0 回答
109 浏览

linker - Mingw32 奇怪的链接器警告

这是警告:

该函数worker是 CreateThread 的启动例程。这是如何定义的:

它在 中定义worker.h,我将其包含在 中wgroup.c,我将其称为 CreateThread。这是对 CreateThread 的调用,没什么特别的:

当我运行程序时,它在(我怀疑)CreateThread 调用时关闭。该程序在 Wine 下的 Linux 上运行,这是调试问题的根源,我无法收集有关崩溃的太多信息。

所以我认为问题出在那个警告上。我认为我不应该忽略它,我也不知道如何修复它,也不知道链接器问题是什么。

谢谢。

0 投票
2 回答
7179 浏览

c - 难以通过 pthread_create 传递结构

我有一个结构数组,我打算将数组的每个元素传递到 for 循环中的单独 pthread 中。

这是我的结构:

这是指向第一个结构和 malloc 的指针(不知道我是否完全明白这里发生了什么):

这是我对 pthread_create 的调用:

对于该行,我收到消息“无法转换为指针类型”。

那条线可能有什么问题?

0 投票
2 回答
2237 浏览

c++ - CreateThread() c++中ThreadId的重要性

我对 C++ 中的 CreateThread() 函数有疑问。

这个函数中threadId参数的重要性是什么?

我们是否能够使用相同的 threadId 创建相同的线程(相同的名称)。像

这种方式可行吗?threadId 中包含的值是什么?通过上述编码,第二个线程创建是否会覆盖第一个线程的 threadId 值?

0 投票
2 回答
11329 浏览

c++ - CreateThread 函数的多个参数

当我使用CreateThread API方法时,当我要传递多个LPVOID lpParameter传递的参数时,我需要做什么?

0 投票
3 回答
407 浏览

c++ - C++ - CreateThread - 编译错误

这是我第一次处理windows。我试图创建线程,但我无法编译我的代码。

这是我的代码的一部分:

我也试过:

都没有编译。有人知道是什么问题吗?

(我用的是windows xp)

谢谢。

0 投票
2 回答
1970 浏览

c++ - 在类构造函数中将此指针传递给 CreateThread 在线程过程中表现得很奇怪

在我的一个类的构造函数中,我将 Windows 函数CreateThread称为最后一个操作。创建线程以立即执行,我将我的类的 this 指针作为lpParameter.

在线程过程中,我将传递回的参数转换为我的类的指针并命名它pThis

我可以看到它pThis指向与我调用时传递的指针相同的内存位置。但是,如果我查看它们访问的成员变量,它们都有错误的值。thisCreateThreadpThis->...

我希望this->member_variablethis 指针所属的类中 used 的值与我在编写pThis->member_variable线程过程时得到的值相同。

如果我调用CreateThread另一个成员函数(而不是构造函数),一切都会正常运行。

CreateThread因此问题是:是否禁止从 C++ 类的构造函数中调用 Windows 函数?如果是,问题是什么?

澄清:

1)我可以确认该对象始终存在。只有当整个程序结束时,对象才会超出范围。正如我已经说过的:CreateThread从其他一些成员函数调用确实有效。

2) 更正了“有线”错字,应该是“奇怪”,抱歉。

一些代码:

我尝试发布代码片段,将事情减少到最低限度,同时保持“故障”部分。

您可以放心地忽略基类CTimer,因为它只是一个抽象基类,可以在不同平台上构建。

在这里我可以看到m_hCompletitionEvent在调用CreateEvent.

调用WaitForSingleObject. 如前所述,类对象的 this 指针CTimerW32(现在pThis)在线程创建期间仍然具有与 this 指针相同的值。然而,其中的句柄pThis->m_hCompletitionEvent似乎是随机数据。它不是CreateEvent在构造函数中调用后观察到的值。

0 投票
3 回答
12488 浏览

c++ - 如何将整数传递给 CreateThread()?

如何将 int 参数传递给 CreateThread 回调函数?我试试看:

但我收到警告:

0 投票
1 回答
825 浏览

multithreading - Winsock线程服务器在多个客户端连接时不能正常工作?

我有一个服务器,它为连接到它的每个客户端生成一个线程。然后该线程处理向客户端接收/发送数据。这是我的服务器代码:

这是我的线程函数的样子:

问题:

所以我启动服务器和客户端,比如client1(从win 7中的命令提示符),一切都很好。当我在 client1 终端输入内容时,它会在服务器终端打印。

现在我启动另一个客户端client2,它连接到服务器并且我输入的任何内容都会显示在服务器上,但是现在当我在client1上输入内容时它不会显示在服务器终端上。

所以基本上每次我启动一个新客户端时,只有那个客户端可以与服务器通信,旧客户端不能!但我认为线程会继续处理每个客户端?还是Windows中的cmd提示符不是线程安全的?