5
void sss(boost::promise<std::string>& res)
{
res.set_value("hi");
}
void yyy(boost::promise<std::string>& res)
{
res.set_value("hello");
}
int main()
{
boost::thread th;
boost::promise<std::string> a;
th = boost::thread(sss, boost::ref(a));
th.join();
std::cout << a.get_future().get() << std::endl;
th = boost::thread(yyy, boost::ref(a));
th.join();
std::cout << a.get_future().get() << std::endl;
}`
Ich bekomme den Fehler, dass das Versprechen bereits erfüllt ist. Wie kann man das gleiche Versprechen nehmen?Wie kann das boost :: promise-Objekt wiederverwendet werden, nachdem es seinen zukünftigen Wert erhalten hat?
Dank Mike! :) – Bakkya
Mit dieser Methode können wir den in der Variablen – Bakkya
gespeicherten Wert freigeben und somit können wir der gleichen Variablen einen neuen Wert zuweisen, ohne einen neuen Speicherplatz für die neue Variable zuzuweisen – Bakkya