问题标签 [beginthread]

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 回答
2673 浏览

c++ - Windows 线程:beginthread 或 QueueUserWorkItem (C++)

我想知道是否将 beginthread 或 QueueUserWorkItem 用于 C++ 中的线程方法。这两个 API 之间有什么区别,它们更适合什么环境?

谢谢,

顺便说一句,我读过这个问题Windows 线程:_beginthread vs _beginthreadex vs CreateThread C++

0 投票
2 回答
3254 浏览

delphi - Delphi,通过 BeginThread 传递指针

我正在使用 BeginThread 创建一个线程。

在我用来启动线程的过程中,我想将一个指针传递给一个布尔变量,以便分叉线程和主线程都可以将其作为控制变量访问,以告知另一个何时完成。

由于开始线程接受参数的指针,因此我尝试传入 Addr(MyPointerVar) 但我收到错误。

但我必须跑,所以今晚我无法在这里完成我的想法。但是,如果有人对此有任何想法,我将不胜感激。

0 投票
2 回答
1101 浏览

return-value - 了解 MSDN _beginthreadex 函数示例

_beginthreadex MSDN页面上有这个功能:

我知道你可以通过_endthreadex函数获取返回的值GetExitCodeThread,但是如何获取返回的值return呢?

另一个问题:没有_endthreadex结束线程,为什么他们return 0在那之后放了一个?

0 投票
1 回答
5369 浏览

multithreading - BeginThread 结构 - Delphi

我现在有一个几乎完成的应用程序,我要实现的下一个功能是线程。我选择使用 BeginThread(),尽管我知道 delphi 中的 TThread。我遇到的问题是 BeginThread() 调用的结构。通常,程序中将调用我想要线程化的函数的行是

op 是一个整数。

我已将其切换为从中创建线程的行是

从我能找到的关于如何实际使用 BeginThread() 的少量信息中,这应该是一个很好的调用,但是在编译时,我得到的只是关于 BeginThread() 语句参数结构的编译器错误。

编辑信息。

当前调用 CompareFiles 的过程是

如果我按照几个人的建议使用 TThread,如下面的 Rob 所示,我对如何将 op、Edit3/4.Text 和 StringGrid2 传递给 CompareFiles 感到困惑。从我见过的 TThread 示例中猜测,我想我会将上面的代码替换TCompareFilesThread.Execute为并将 Panel29Click 中的当前代码放入TCompareFilesThread.Create然后添加

对此

但我有这种唠叨的感觉,完全不合时宜。

0 投票
1 回答
3259 浏览

c++ - 采访:_beginthread(ex)创建的pthread和windows线程有什么区别?

我在 C++ 开发人员职位面试中被问到这个问题,答案是什么?

0 投票
2 回答
638 浏览

c - 如何获取函数_beginthread的第一个参数_StartAddress的返回值

我想使用多线程和封装在 function 中的所有东西来做一些事情foo

我想让foo返回值:

但是 _beginthread 的原型_CRTIMP uintptr_t __cdecl _beginthread (_In_ void (__cdecl * _StartAddress) (void *), _In_ unsigned _StackSize, _In_opt_ void * _ArgList)显示foo必须为 void ,这意味着不能返回值。我还有什么办法可以让foo返回值?

0 投票
2 回答
2295 浏览

multithreading - 在另一个线程 C++ 中启动方法

我很难找出如何在 C++ 中的单独线程中运行方法(使用 Visual C++ 2008),我尝试了多种方法来做到这一点,但到目前为止没有一个成功。

我对 C++ 非常陌生,但在 Java 方面是一位相当有经验的程序员,但我的任务是修复旧 C++ 应用程序中的一些错误。该程序使用一个名为“Mpeg”的对象来控制 Mpeg 文件的打包和解包。正确设置 Mpeg 对象后,需要调用 mpeg.Depacketise,然后运行方法 DepacketiseInputFile()。

我试图通过使用 _beginthread 和 System::Threading::Thread 对象使 DepacketiseInputFile() 在单独的线程中运行

但是这会返回错误

使用 &Mpeg::Depacketise 给出错误

使用 _beginthread 时,我尝试的代码是

但是,有了这个,我一直无法正确地论证,出现错误,例如

突然出现。

有没有任何人可以推荐的简单方法来做到这一点?我花了几天时间玩这个,但似乎无处可去:(

任何帮助将不胜感激。

干杯。

0 投票
1 回答
2074 浏览

c++ - 无法使用 _beginthreadex 编译 C++ 程序

我无法运行该程序。我收到此错误,我不明白:

错误 1 ​​错误 C2664: '_beginthreadex' : 无法将参数 3 从 'unsigned int (__stdcall *)(void)' 转换为 'unsigned int (__stdcall *)(void *)'32

我不小心在网上搜索了一个多小时以找到解决方案,因此非常希望您能提供帮助。

0 投票
2 回答
1046 浏览

multithreading - 在 C++/CLI 中使用 _beginthread 进行多线程

我在 microsoft visual studio c++ 10 express 中遇到 _beginthread 问题:我的代码:

和错误:

错误 C3641:“DashThread”:使用 /clr:pure 或 /clr:safe 编译的函数的调用约定“__cdecl”无效

错误 C2664:“ beginthread”:无法将参数 1 从“void ( _cdecl *)(void *)”转换为“void (__cdecl *)(void *)”

0 投票
1 回答
1880 浏览

c++ - beginthread 中的堆栈大小参数

我以为我知道 beginthread 中的堆栈大小参数是什么意思。所以我的问题是:为什么这行得通?

我确保我在调试模式下构建,因此不会优化调用和数组。