C++多线程编程

发表于:2014-8-01 10:02

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:wohaha1    来源:51Testing软件测试网采编

  线程函数就是另一个线程的入口函数.默认情况下我们所写的代码都是只有一个线程的, 而这个线程的入口函数就是main() 函数, 这是系统默认的. 而我们创建的另一个线程也需要一个函数来进入, 这个函数就叫做线程函数.
  在C/C++中, 可以调用 '运行期库' 函数 _beginthreadex(...), 来创建一个线程, _beginthreadex(...)函数接受6个参数, 其中第3个参数要求传入该线程的入口函数的地址(即:传入线程函数的函数名+&即可), 其它的每个参数的意思可以在msdn或网上查一下, 入门的话其余参数全部传0即可.
  _beginthreadex(...)函数返回一个句柄, 就是新线程的句柄. 对于传入的线程函数是有要求的, 线程函数必须返回 unsigned __stdcall 类型, 并且接受一个 void* 型参数, 函数的内容就可以自己定了.
  当一个线程的任务结束, 要退出时, 有四种方法:
  1.线程函数返回(最好使用这种方法);
  2.通过调用 _endthreadex()或 ExitThread()函数,线程将自行撤消(最好不要使用这种方法);
  3.同一个进程或另一个进程中的线程调用 TerminateThread()函数(应该避免使用这种方法);
  4.包含线程的进程终止运行(应该避免使用这种方法).
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号