Конструктор Thread
может принимать делегата, который может иметь контекст.В показанном коде контекст является включающей функцией.Если по какой-то причине это проблема, вы должны сделать что-то вроде этого:
void StartThread(handle hand) {
struct Con {
handle m_handle;
void Go() { WorkerThread( m_handle ); }
}
Con con = new Con;
con.m_handle = hand;
auto worker = new Thread( &con.Go );
}