什么是 LPTHREAD_START_ROUTINE?

Posted

技术标签:

【中文标题】什么是 LPTHREAD_START_ROUTINE?【英文标题】:What is a LPTHREAD_START_ROUTINE? 【发布时间】:2013-10-20 01:04:54 【问题描述】:

我似乎找不到 C 语言的 LPTHREAD_START_ROUTINE 的任何文档。

我找到了这个,但它适用于 .NET Framework 4.5 并且已被弃用:http://msdn.microsoft.com/en-us/library/aa964928.aspx

之所以想知道是因为CreateThread需要它:http://msdn.microsoft.com/en-us/library/windows/desktop/ms682453%28v=vs.85%29.aspx

【问题讨论】:

【参考方案1】:

LPTHREAD_START_ROUTINE 实际上是以ThreadProc 的名义记录的:

一个应用程序定义的函数,用作线程的起始地址。调用CreateThreadCreateRemoteThreadCreateRemoteThreadEx函数时指定此地址。

LPTHREAD_START_ROUTINE 类型定义了指向此回调函数的指针。 ThreadProc 是应用程序定义的函数名称的占位符。

【讨论】:

【参考方案2】:

这是documented here on MSDN。它是一个函数指针,定义为:

typedef DWORD (__stdcall *LPTHREAD_START_ROUTINE) (
    [in] LPVOID lpThreadParameter
);

【讨论】:

在您发布的链接中,它显示“.NET Framework 4.5”i.imgur.com/zGKlVGt.png @user2899050 这实际上是该特定类型的真实文档 - 但它与 ThreadProc 具有相同的函数指针 @user2899050 不知道如果我在这里联系到任何人,但除了“.NET Framework 4.5”(在右侧)之外,还有更改版本的选项。

以上是关于什么是 LPTHREAD_START_ROUTINE?的主要内容,如果未能解决你的问题,请参考以下文章

时间是什么?时间同步是什么?GPS北斗卫星授时又是什么?

什么是拉电流,什么是灌电流?什么是吸收电流 ?

在java中,OOA是什么?OOD是什么?OOP是什么?

什么是DIV,全称是什么?

什么是抢占/什么是可抢占内核?到底有什么好处呢?

什么是 JNDI?它的基本用途是什么?什么时候使用?