PUedes emplear _beginthread y _endthread definidos en <process.h>. Necesitas primero una función cuyo tipo de retorno sea void y su parámetro, un puntero a void. Esta función será la que el hilo ejecutará. Luego, desde otra función, mandas llamar a _beginthread. Uno de los parámetros (void*) son para pasárselos al método. Tonz sería algo así:
struct Param
{
int a;
int b;
};
void corre_hilo(void* pParametro)
{
Param pParam = (struct Param*)pParametro;
// hacer cualquier cosa
//terminar la ejecución del hilo
_endthread(0); // usualmente 0 - OK, -1 - ERROR
}
int main()
{
struct Param param;
param.a = 1;
param.b = 15;
_beginthread(corre_hilo, 0, ¶m);
// el hilo ya se está ejecutando aquí...
return 0;
}
Puedes emplear el API también de tu plataforma. CreateThread para Windows y fork y equivalentes para Linux. Saludos.