Domande taggate «data-race»


3
Il programma multithreading è bloccato in modalità ottimizzata ma funziona normalmente in -O0
Ho scritto un semplice programma di multithreading come segue: static bool finished = false; int func() { size_t i = 0; while (!finished) ++i; return i; } int main() { auto result=std::async(std::launch::async, func); std::this_thread::sleep_for(std::chrono::seconds(1)); finished=true; std::cout<<"result ="<<result.get(); std::cout<<"\nmain thread id="<<std::this_thread::get_id()<<std::endl; } Si comporta normalmente in modalità debug in Visual Studio …

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.