_beginThread如何传递多个参数

_beginThread如何传递多个参数PS 对于一个 C 渣来说 能在网上找到简单直白的解释真的是不容易 有时候给几个简单的例子才是直击心灵啊 翻了那么多篇介绍 beginThread 传递多个参数的文章看到这篇的时候我都要膨胀了 233 原文连接 http blog sina com cn s blog 5357c0af0100 html 再次感谢博主 include lt process h gt incl

PS:对于一个C++渣来说,能在网上找到简单直白的解释真的是不容易,有时候给几个简单的例子才是直击心灵啊,翻了那么多篇介绍_beginThread传递多个参数的文章看到这篇的时候我都要膨胀了233

原文连接:http://blog.sina.com.cn/s/blog_5357c0af0100fnon.html,再次感谢博主

#include 
  
    #include 
   
     using namespace std; unsigned int Thread1(void *lpVoid) {      int pnInt = (int)lpVoid;      cout << pnInt << endl;      return 0; } int main() {     int nNum = 12;     _beginthread((void (__cdecl *) (void *))Thread1, 0, (void *)nNum);      Sleep(10);      printf("%d", nNum); } 这样,就会输出2个12。 关于多个参数传递的问题,可以自定义一个结构类型,把要传递的参数包含进去,这样就可以实现多参数传递了。 比如 #include 
    
      #include 
     
       using namespace std; struct _tagValue {      int nNum1;      int nNum2; }; typedef _tagValue Value; unsigned int Thread1(void *lpVoid); int _tmain(int argc, TCHAR* argv[], TCHAR* envp[]) {      Value sValue;      sValue.nNum1 = 1;      sValue.nNum2 = 2;      int nNum = 12;      _beginthread((void (__cdecl *) (void *))Thread1, 0, (void *)&sValue);      Sleep(2);     cout << "nNum = " << nNum << '\n';      return 0; } unsigned int Thread1(void *lpVoid) {      Value *pnInt = (Value*)lpVoid;      cout << "传递的参数是 "              << pnInt->nNum1              <<  pnInt->nNum2 << '\n';      return 0; } 
      
     
    
  

当然,上面只是例子,具体因为Windows是个抢占式系统,所以输出的结果并不一定和我们主观想象的一样。

 

 

 

照着这个例子我是摸索着完成了新加上需求的一半,剩下一半要继续加油了

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/204852.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午7:23
下一篇 2026年3月19日 下午7:23


相关推荐

  • linux中setfacl命令,Linux 中的Setfacl命令

    linux中setfacl命令,Linux 中的Setfacl命令setfacl命令是用来在命令行里设置ACL(访问控制列表)。在命令行里,一系列的命令跟随以一系列的文件名。选项-b,–remove-all:删除所有扩展的acl规则,基本的acl规则(所有者,群组,其他)将被保留。-k,–remove-default:删除缺省的acl规则。如果没有缺省规则,将不提示。-n,–no-mask:不要重新计算有效权限。setfacl默认会重新计算ACLmask…

    2022年6月23日
    29
  • 互联网裁员为什么专捡大于35的裁?

    互联网裁员为什么专捡大于35的裁?以前写过一篇文章《在中国程序员是青春饭吗?》,一时间,各个平台都成为爆文,在这篇文章中,详细讲解了程序员的青春饭问题,并且给出了具体地五个出路。第一条出路,说的是需要走技术专家路线。有些小伙伴就有疑问了,我年龄大了,我技术菜,就我不能降薪去小公司吗?就着这两年各个大厂对高龄程序员的种种限制,我们再来谈一谈,为什么我建议大家如果要走技术路线,就一定要进中大厂走技术专家的路线。记得帮我点赞哦。一、大厂裁员,为什么优先35岁以上?大道理总是无力的,先讲几个事实吧。为了避免不必要的.

    2022年7月17日
    20
  • NotebookLM 出了视频生成,但「被动学习」本质上是低效的——这是我的替代方案

    NotebookLM 出了视频生成,但「被动学习」本质上是低效的——这是我的替代方案

    2026年3月16日
    1
  • 如何清理 WinSxS 文件夹-2022版

    如何清理 WinSxS 文件夹-2022版原文链接目录使用 Dism exe 手动删使用 StartCompone 参数将 ResetBase 开关与 StartCompone 参数一起使用使用 SPSuperseded 参数 PS 不要直接删除 WinSxS 文件夹 您可以使用 Windows 内置的工具来减小 WinSxS 文件夹的大小 从 WinSxS 文件夹中删除文件或删除整个 WinSxS 文件夹可能会严重损坏您的系统 从而使您的 PC 可能无法启动并且无法更新 使用 Dism exe 手动删使用

    2026年3月16日
    2
  • JAVA解析xml的五种方式比较

    JAVA解析xml的五种方式比较1)DOM解析 DOM是html和xml的应用程序接口(API),以层次结构(类似于树型)来组织节点和信息片段,映射XML文档的结构,允许获取 和操作文档的任意部分,是W3C的官方标准 【优点】 ①允许应用程序对数据和结构做出更改。 ②访问是双向的,可以在任何时候在树中上下导航,获取和操作任意部分的数据。 【缺点】 ①通常需要加载整个XML文档来构造层次结构,消耗资源大。…

    2022年6月3日
    29
  • Window Server IIS6.0部署webservice请求调用提示请求失败「建议收藏」

    Window Server IIS6.0部署webservice请求调用提示请求失败

    2022年2月7日
    53

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号