Basit bir çok iş parçacığı içeren programlar yazdım: 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; } Bu hata ayıklama modunda normal davranır Görsel stüdyoda veya -O0içinde …
Programlamaya yeniden giriş yapıyordum. IBM'in bu sitesinde (gerçekten iyi). Aşağıda kopyalanan bir kod oluşturdum. Bu web sitesi aşağı yuvarlanan ilk kod. Kod, bir "tehlikeli bağlamda" sürekli değişen iki değer yazdırarak, bir metin programının doğrusal olmayan gelişiminde (asenkroniklik) değişkene paylaşılan erişimi içeren sorunları göstermeye çalışır. #include <signal.h> #include <stdio.h> struct two_int …