Ahoj,
nemáte někdo zkušenosti s vytvářením vláken pomocí headeru thread? Umím vytvořit naprosto primitivní vlákno/a v podobě:
void funkce();
int main()
{
thread vl(funkce);
vl.join();
return 0;
}
void funkce()
{
cout << ".";
}
Tohle funguje normálně, ale to vl tam není vůbec ideální. Potřeboval bych vytvořit třeba 6 vláken, ve kterých bude běžet funkce() a to aniž bych je psal ručně, převdstavuju si něco jako:
vector<thread> vlakna;
for(int i=0; i<6; i++)
{
vlakna.push_back(funkce);
vlakna[i].join();
}
Ale toto prostě nelze zkompilovat (ani bez cyklu). Přitom toto by mělo být možné, a s každou jinou třídou kromě thread mi šlo použít vector (předpokládám, že to je šablona).
Proč tohle není možné?
A je možnost, jak udělat to co chci nějak jinak?
Díky moc.