摘要:
之所以写成宏定义。是因为觉得每一次对参值进行类型转换很麻烦。[代码]unsignedlong _beginthreadex( void *security, unsigned stack_size, unsigned ( __stdcall*start_address )( void * ), void *arglist, unsigned initflag, unsigned*thrdaddr );//第1个参数:安全属性,NULL为默认安全属性//第2个参数:指定线程堆栈的大小。如果为0,则线程堆栈大小和创建它的线程的相同。一般用0//第3个参数:指定线程函数的地址,也就是线程调用执行的函 阅读全文
摘要:
进程是由两部分构成的 一个是进程对象,一个是地址空间。线程也有两个部分组成: 一个是线程的内核对象,一个线程栈。进程是不活泼的,进程从来不所选任何东西,它只是线程依存的地方。线程在它的进程空间执行代码。并在进程的地址空间中对操作。CreateThread函数 (是用来创建线程的Windows函数。不过,如果你正在编写C/C++代码,决不应该调用CreateThread。相反,应该使用VisualC++运行期库函数_beginthreadex)[代码]参数说明:psa 指向SECURITY_ATTRIBUTES结构的指针。传递NULL,为线程的内核对象的默认属性。设定为SECURITY_ATTR 阅读全文