多线程版本的RunTime Library

1、unsigned long _beginthreadex(

void  *security,;相当于SECURITY参数
unsigned stack_szie,;新线程的堆栈大小,以字节为单位
unsigned (__stdcall *start_address)(void*)),;线程启动时所执行的函数。
;对应的WIN32数据类型是LPTHREAD_START_ROUTINE
void*arglist,;新线程将收到的一个指针,不会做拷贝操作,只是单纯地被传递过去
unsigned initflag,启动时的状态标记,WIN32数据类型为DWORD
unsigned *thrdaddr;新线程的ID,WIN32数据类型为LPDWORD
)
返回的unsigned long是一个WIN32 HANDLE,指向新的线程。
2、_endthreadex(unsigned);
可以被线程在任意时间调用,需要一个表示线程返回代码的参数。事实上,当线程的startup函数返回时,_endthreadex会自动被runtimelibrary调用。
3、createtrhead和_beginthreadex
(1)如是主线程以外的任何线程进行以下操作,你就应使用多线程版的 RunTimeLibrary,并使用_endthreadex和_beginthreadex:
  A。使用malloc()和free(),或是在c++程序中使用new和delete。
  B。调用STDIO。H或IO。H声明的任何函数。
  C。使用浮点变量或浮点运算函数。
  D。调用任何一个使用静态缓冲区的RUNTIME函数,如asctime()、strtok()或rand()
  如果worker线程没有使用上述函数,那么单线程的runtimelibrary以及createprocess()都是安全的.
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值