经典指数          
原因
3086
浏览数
0
收藏数
 

以下关于线程以下描述正确的是()
1.windows线程创建时,默认绑定在1个特定的CPU上
2.可采用SetThreadAffinityMask接口设置线程与某个cpu绑定
3._beginthreadex比CreateThread创建线程安全是因为使用_beginthreadex会创建一个_tiddata,在调用一些诸如strtok函数时会将需要保护的数据存入_tiddata
4.使用_beginthread创建线程时,线程执行函数必须为_cdecl约束规范,而_beginthreadex指定的线程执行函数必须为_stdcall
  • 1,2
  • 1,3
  • 1
  • 以上都不正确

     举报   纠错  
 
切换
1 个答案

D

解释:1:不正确。windows线程创建时,不会绑定在特定的CPU上,需要手动绑定,或者调用

SetThreadAffinityMask接口进行绑定;

           2:正确。参考

 http://blog.csdn.net/beyond_cn/article/details/15813361

           3:不正确。参考2的链接。欢迎各位纠正。

           4:正确。参考msdn: 

            _beginthread 函数可创建在 start_address 开始执行例程的线程。 

start_address 中的例程必须使用 

__cdecl

(用于本机代码)或 

__clrcall

(用于托管代码)调用约定,并且应没有返回值。

            传递给 

_beginthreadex

 

 

start_address

 

中的例程必须使用

 

__stdcall

(用于本机代码)或

 

__clrcall

(用于托管代码)调用约定,并且必须返回线程退出代码。

            所以,通过1,就能选出D。

 
切换
撰写答案