void F1() {} void F2(char *ch) {} unsigned long _beginthread( void( __cdecl *start_address )( void * ), unsigned stack_size, void *arglist );在函数不需要参数的情况下,最后一个为参数NULL,或者只有一个参数,需要强制转换。_beginthread( F1, 0, NULL );_beginthread( F2, 0, (void *)ch );假如我的函数是一个排序的函数,比如 void Sort(int *array, int length);我现在要把它用到线程里面。怎么用?_beginthread( Sort, 0, ?)

热心网友

一般来说,你的sort函数应该设计成只接受一个void *类型的函数,即:void Sort(void * p)那么这个void * p可以指向一个结构体或任何你希望的类型,这个结构体(或其他类型)内包含了array、length等信息,然后再在sort函数内部把这些信息提取出来。这样一来,你在_beginthread内只需要简单传递*p指针即可。