千头万绪

阅读: 评论:0

千头万绪

千头万绪

这两天刚好手头有点事情跟线程相关, 刚好细细拜读jjh先生所译的win32线程大作, 有点不知所云, 起码是被弄的一愣一愣的, 偏听则暗, 果然如此, 只知其然而不知所以然, 恐怕过两天还是会忘记的. 就当写写心得记录了.

 

1.         已知windows下可以用如下方法创建线程.

1)        CreadThread(…). API

2)        _beginthread(…). CRT

3)        _beginthreadex(…). CRT

4)        AfxBeginThread(…). MFC

由于AfxBeginThread()同学勾搭MFC, 扬言誓死不分, 开除先.

_beginthreadex()_beginthread()长的很像, 没什么直接血缘关系, 但都是CRT所提供的线程创建方式. 显著区别在于参数和返回值上.

2.         _beginthread(…)_beginthreadex(…)区别.

1)        参数区别.

2)        返回值区别

_beginthread()返回-1表示失败, _beginthreadex()返回0表示失败

3)        实际过程区别.

3.         _beginthreadex(…)CreadThread(…)区别.

1)        参数区别.

两者参数基本相同, 只是CreadThread()的参数是windows定义的win32数据类型, _beginthreadex()是标准C/C++的数据类型. 需要注意的是, CreateThread()的第三个参数函数指针是unsign long, _beginthreadex()的第三个参数函数指针是unsign int.

2)        返回值区别.

CreateThread(), 返回的是创建的线程的HANDLE,

_beginthreadex(), 返回的一个是unsigned long. 需通过reinterpret_cast<HANDLE>(HANDLE)来强制转换.

3)        实际过程区别.

       一般不建议直接调用CreateThread(), 除非可以非常确定

4.         选择_beginthreadex()CreateThread()的一般性规则.

不建议使用CreateThread(). 尤其当线程:

l         使用了malloc()/free(), new/delete的线程.

l         调用stdio.hio.h中声明的任何函数.

l         使用浮点变量.

5.         为什么winCE上只能用CreateThread()?

我也不知道为什么….

 

参考文献:

1.         MSJ(Mircsofts System Journal) July 1999

.aspx

2.         <Win32多线程程序设计>

3.         <windows核心编程>. 6.

4.         oRbIt 的专栏. <CreateThread()_beginthreadex()区别>.

.aspx

向远处看的专栏. <CreateThread()_beginthreadex()区别>

.aspx

搞不清谁的原创了….两位大仙都写原创那肯定有个是引用的啊要不难道是异灵事件?

5.         kind_li的专栏 kind_li 线程知识点.

.aspx

6.         运行时: 管理进程和线程

.html

7.         MSDN, _beginthreadex()_beginthread()的区别.

(VS.71).aspx

本文发布于:2024-01-28 15:41:47,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17064277108473.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:千头万绪
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23