Merhaba C++ & konuları okuyorum. C++ 'da yeni yaşıyorum ve aşağıdaki kod diğer dillerdeki deneyimime dayanıyor. Ancak bana rağmen her şey yolunda görünüyor ve ben derlediğim zaman, onu çalıştırdığımda, kilitleniyor - hiçbir şey yapmıyor. Bana neyi yanlış yaptığımı söyler misiniz?C++ basit iş parçacıkları örnek
#include <iostream>
#include <thread>
#include <vector>
#include <string>
void printLine(std::string str) {
std::cout << str << std::endl;
}
void child(int id) {
printLine("This is a thread with id: " + std::to_string(id));
}
int main() {
printLine("This is the main thread and we are baout to spawn threads...");
std::vector<std::thread> threads;
for (int i = 0; i < 10; i++) {
threads[i] = std::thread(child, i);
threads[i].join();
}
printLine("Press any key to exit...");
std::getchar();
return 0;
}
sınırları erişimi dışında bu kadar tanımsız davranış: 'ipler [i] = std :: thread (çocuk, ı) ; '. "Thread" vektörü boş. – juanchopanza
Neden onları bir for döngüsünün dışında kullanmıyorsanız bir vektöre "ekliyorsunuz"? – Default
Aşağı oylama yapmak ve bunun aptalca bir soru olduğunu düşünmek için, en azından aşağı-oylama yerine hatamla ilgili bir başvuruda bulunabiliyorsanız bunu takdir ediyorum. – Syd