问题标签 [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 回答
799 浏览

visual-c++ - 在 WinCE 中创建线程

我在 MFC 中将这段代码作为 win32 应用程序编写:

CZoneThread* pThread = new CZoneThread(sZoneInfo); pThread->CreateThread();

在这里,CZoneThread 是另一个类。

这段代码在 WinCE 中也能正常工作吗?

0 投票
1 回答
2027 浏览

c++ - C++ 构建器 CreateThread() 中的错误

嘿,我正在尝试用 C++ 编写一个生成三角形、正方形和正弦波的程序。我输入频率、幅度等,它会计算波的平均值。我可以通过选择单选按钮来选择生成的波。

这是一个实时系统,因此,如果正在绘制一个波,并且如果我选择一个对应于另一种类型的波的单选按钮,它将实时变化。

错误是这样的:

[C++ 错误] FormularioPrincipal.cpp(171): E2297 'this' 只能在成员函数中使用

它发生在我正在创建线程的那一行。有人能帮我吗?

谢谢!

0 投票
2 回答
475 浏览

winapi - 使用 Win32 事件对象

菜鸟问题:

此链接显示了 CreateEvent 和 CreateThread 的示例

http://msdn.microsoft.com/en-us/library/ms686915(v=vs.85).aspx

我的问题是 ThreadProc 是否真的是线程安全的?

具体来说,dwWaitResult 变量。由于所有线程都在等待同一个事件,结果证明此代码有效,但创建了不同的事件,例如,这将无法正常工作?

0 投票
3 回答
7265 浏览

delphi - 将参数传递给 CreateThread

我在调用 CreateThread 时将类引用作为参数传递给 ThreadProc 时遇到问题。这是一个示例程序,演示了我遇到的问题:

调用ShowMessage弹出一个消息框,里面有类似245729105的东西,54不像我期望的那样。

这可能只是对 Delphi 工作原理的一个基本误解,所以有人可以告诉我如何让它正常工作吗?

0 投票
1 回答
1039 浏览

multithreading - 如何将 IDispatch::Invoke 放入 MFC C++ 线程?

如果超时,如何将其放入IDispatch::Invoke线程并调用?TerminateThread

我想这样做的原因是因为我发现有时 Invoke 调用会进入无限循环并且永远不会返回任何内容,因此该调用将永远坐在那里。因此,我正在考虑将 Invoke 放入线程并在线程超时时终止线程。

非常感谢任何建议或参考。和平

0 投票
2 回答
1541 浏览

multithreading - 从 DLL 创建线程 - ERROR_NOT_ENOUGH_MEMORY

我有这个 dll,它在 LoadLibraryA 加载时创建一个线程,使用 RtlCreateUserThread 将 dll 注入另一个进程,注入成功,将 dll 加载到目标进程中(kernel32 LoadLibraryA 线程在那里)但是当涉及到CreateThread 我得到 ERROR_NOT_ENOUGH_MEMORY,那么问题出在 RtlCreateUserThread 或目标进程或 DLL 本身?我该如何解决?多谢!!

0 投票
1 回答
456 浏览

c++ - CreateThread 似乎表现得像 fork()

我有这个功能

我得到这个输出:

为什么我得到线程 0...2 的多个输出?我不知道我是在创建 4 个线程还是 10 个线程。而且最后似乎我创建了 4 个线程和主线程。

0 投票
1 回答
2578 浏览

visual-studio - CreateThread() 错误

这是一个简单的代码,但我无法弄清楚为什么 Visual Studio 给我错误:

错误 C2664: 'CreateThread' : 无法将参数 3 从 'void (void *)' 转换为 'unsigned long (__stdcall *)(void *)' 范围内具有此名称的函数均不匹配目标类型 执行 cl.exe 时出错.

0 投票
1 回答
1753 浏览

multithreading - Boost 库和 CreateThread win API

我有一门课,例如:

我想用WinAPI CreateThread调用 ReaderThread 。但是 CreateThread 想要 ReaderThread 函数想要一个静态函数。

在某些形式中,据说这可以通过 boost 库实现,例如

但是我得到了编译错误:

因此,我的问题是:

  1. 是否可以使用 boost lib(或任何其他方法)从 CreateThread 调用类的非静态函数
  2. 如果没有任何 C++ 线程库,您可以推荐(对于可视化 C++),我可以调用运行类的非静态成员函数作为线程?

最好的祝愿

更新:

所以第一个问题:似乎不可能从 CreateThread win API 调用非静态 c++ 成员函数......

因此,对于 C++ 多线程库的任何建议都可以将非静态函数调用为线程......

更新2: 好吧,我尝试提升线程库......似乎它有效......

或(无需绑定)

并且为了使用 boost::thread 我将我的类定义更新为:

0 投票
1 回答
150 浏览

c - 正确终止“工作”的正在运行的线程

我有一个这样的线程:

我从以下开始CreateThread

这似乎有效,但我怎样才能正确关闭这个线程?通常线程正在等待,GetMessage所以我认为线程被阻塞了。

有没有好的方法来做到这一点?我试过TerminateThread了,但这挂起,我认为停止线程不是一个好的解决方案。

有人有想法吗?

最好的问候本杰迈尔