`
deepfuture
  • 浏览: 4420486 次
  • 性别: Icon_minigender_1
  • 来自: 湛江
博客专栏
073ec2a9-85b7-3ebf-a3bb-c6361e6c6f64
SQLite源码剖析
浏览量:80201
1591c4b8-62f1-3d3e-9551-25c77465da96
WIN32汇编语言学习应用...
浏览量:70590
F5390db6-59dd-338f-ba18-4e93943ff06a
神奇的perl
浏览量:103747
Dac44363-8a80-3836-99aa-f7b7780fa6e2
lucene等搜索引擎解析...
浏览量:286940
Ec49a563-4109-3c69-9c83-8f6d068ba113
深入lucene3.5源码...
浏览量:15083
9b99bfc2-19c2-3346-9100-7f8879c731ce
VB.NET并行与分布式编...
浏览量:67982
B1db2af3-06b3-35bb-ac08-59ff2d1324b4
silverlight 5...
浏览量:32367
4a56b548-ab3d-35af-a984-e0781d142c23
算法下午茶系列
浏览量:46128
社区版块
存档分类
最新评论

多线程版本的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
分享到:
评论

相关推荐

    选择正确的C/C++ Runtime Library

    4. 多线程DLL调试版(/MDd):这是/MD版本的调试版本,用于开发和调试阶段。 需要注意的是,C++运行时库依赖于C运行时库。因此,C和C++运行时库的版本必须相匹配。这些选项同时适用于C和C++运行时库。 在旧版本的...

    Microsoft Visual C++ Runtime Library 32 64

    - 运行时库是程序执行时必需的一部分,它提供了许多基础功能,如内存管理、异常处理、多线程支持、I/O操作等。 - 对于使用C++标准库或者MFC(Microsoft Foundation Classes)的程序,它们通常依赖于Visual C++ ...

    非调试版本-C Runtime Library12.00.21005.1

    它还提供了对多线程、异常处理、I/O操作的支持。当一个使用VC++ 2013编译的程序运行时,如果系统中没有这个文件,程序可能无法正常启动,因为缺少必要的运行时环境。 2. **msvcp120.dll**:这个文件代表了Microsoft...

    Neptune C++ Runtime Library

    3. **多线程支持**:随着多核处理器的普及,多线程编程变得越来越重要。Neptune可能包含对多线程编程的支持,提供线程同步、互斥锁、条件变量等功能。 4. **I/O操作**:对于文件操作和网络通信,Neptune可能提供了...

    msvcrt-v5.zip_c runtime library

    4. **线程支持**:在Windows环境下,msvcrt.dll支持多线程编程,提供线程创建、同步和通信的相关函数,如CreateThread()、Mutex、Semaphore等,方便开发者实现并发执行。 5. **I/O操作**:库中的stdio.h头文件提供...

    Delphi多线程教程

    除了上述两种方法之外,Delphi还提供了其他创建线程的方式,例如使用C Runtime Library (`_beginthread`),或者通过`BeginThread`函数: ```delphi function BeginThread(SecurityAttributes: Pointer; Stack...

    C++多线程总结[归纳].pdf

    _beginthread()/_beginthreadex()函数是C Runtime Library函数,用于创建新的线程。其函数原型为: ```c uintptr_t _beginthread(void (*start_address)(void*), unsigned stack_size, void *arglist); uintptr_t _...

    多线程网络下载

    在VC++环境下实现多线程网络下载,我们需要利用Microsoft的C++运行时库(C++ Runtime Library)和Windows API中的线程管理函数。VC++是Visual C++的简称,是一款强大的Windows平台下的C++开发工具,提供了丰富的库...

    c_win32多线程编程[归类].pdf

    CRT(C Runtime Library)提供了内存分配、文件操作等服务,并且Visual C++提供了CRT库的多线程版本,能够更好地支持多线程程序。 文档提到了一些函数,如_endthread和_endthreadex,这两个函数在Visual C++中用于...

    onnxruntime-linux-x64-gpu-1.16.2.tgz

    ONNX Runtime还支持多线程和多设备执行,以进一步提升性能。此外,它支持模型的动态形状,允许在运行时改变输入和输出的尺寸,增强了模型的灵活性。 总之,"onnxruntime-linux-x64-gpu-1.16.2.tgz"是一个针对Linux ...

    delphi多线程技术

    【Delphi多线程技术】在Windows环境下,Delphi的多线程编程是提升应用程序性能和用户体验的关键技术。本文将探讨线程的概念、特点以及Delphi对线程的支持。 一、线程的理解 线程是操作系统调度的基本单位,是进程...

    Ogre1.8.1 SDK 使用vs2013编译,使用boost库支持多线程

    在本文中,我们将深入探讨如何使用Ogre 1.8.1 SDK与Visual Studio 2013(VS2013)结合,并利用Boost库实现多线程功能。Ogre是一个强大的开源3D渲染引擎,广泛应用于游戏开发、可视化应用和其他图形密集型项目。而...

    VC++ Runtime

    这些库提供了许多核心功能,包括内存管理、异常处理、多线程支持以及对Windows API的封装。在Windows系统上,当你尝试运行一个使用VC++编译器开发的应用程序时,如果系统中没有安装相应的VC++ Runtime,程序可能无法...

    Delphi中有一个线程类TThread是用来实现多线程编程

    在Delphi中,多线程编程是通过TThread类实现的。TThread是VCL(Visual Component Library)框架的一部分,位于Classes单元中,为开发者提供了一种方便的方式来创建和管理线程。它对Windows API的线程创建和管理进行...

    电脑游戏及系统必备运行库

    C++运行时库为C++程序提供了内存管理、异常处理、多线程等关键功能。异常处理:运行时库提供了异常处理的机制,DirectX是由微软公司开发的一套多媒体应用程序接口,它为Windows操作系统提供了高性能的图形渲染、音频...

    多线程与多核编程

    ### 多线程与多核编程 #### 一、引言 随着计算机硬件技术的发展,多线程与多核编程已成为提高程序效率的关键技术之一。本文将深入探讨在Windows平台上使用JAVA、C#、C++等语言进行多线程与多核编程的方法。 #### ...

    vc2015runtime_x86.zip

    运行时环境是应用程序在执行过程中依赖的一组组件,它们负责处理内存管理、异常处理、多线程支持等核心功能。这个压缩包通常包含Microsoft Visual C++ Redistributable for Visual Studio 2015,它是运行由VC2015...

    不使用API而是利用Microsoft Runtime Scripting Library中的fso文件系统对象实现获得文件的属性.zip

    在提供的压缩包文件中,"不使用API而是利用Microsoft Runtime Scripting Library中的fso文件系统对象实现获得文件的属性.txt"很可能包含了更详细的代码示例和解释,而"fsofileinfo.zip"可能是一个包含更多实践示例的...

    WCRT - Win32API based C Runtime Library-开源

    7. 多线程支持:如果需要,WCRT还可以提供线程管理和同步原语,如CreateThread和WaitForSingleObject。 压缩包内的文件结构如下: - **Makefile**:这是构建项目的配置文件,用于指导编译和链接过程。 - **readme....

Global site tag (gtag.js) - Google Analytics