Size: a a a

2020 July 12

D

Danya in pro.cxx
mAX
оказывается нужно добавить -pthread
ошибки в цпп ну просто сама информативность.. как он это вообще собирает
Ну gcc и вроде clang'у надо явно говорить, что ты хочешь использовать многопоточность в своем приложении, а там она реализована через pthread
источник
2020 July 13

d

disba1ancer in pro.cxx
Danya
Ну gcc и вроде clang'у надо явно говорить, что ты хочешь использовать многопоточность в своем приложении, а там она реализована через pthread
это вообще странно ибо у него там нет потоков и в теории оно должно работать
источник

D

Danya in pro.cxx
disba1ancer
это вообще странно ибо у него там нет потоков и в теории оно должно работать
В future/promise используются атомики, насколько я знаю
источник

d

disba1ancer in pro.cxx
Danya
В future/promise используются атомики, насколько я знаю
ну и что из этого следует?
источник

D

Danya in pro.cxx
disba1ancer
ну и что из этого следует?
А как атомики сделать без pthread?
источник

S

Serg in pro.cxx
там conditon variable примитивы используются из pthreads
источник

d

disba1ancer in pro.cxx
Danya
А как атомики сделать без pthread?
ну так у него не ошибка компиляции, а в рантайме ошибка
источник

AF

Aidar Fattakhov in pro.cxx
disba1ancer
ну так у него не ошибка компиляции, а в рантайме ошибка
Звучит как какой-то недоделанный фолбек
источник

AF

Aidar Fattakhov in pro.cxx
mAX
Товарищи, подскажите пожалуйста!
Простейший пример с std::future
https://onlinegdb.com/HJiZ8lKkP
std::string str = future.get()
срабатывает только в отдельном потоке, а в текущем не работает!
почему так? как это исправить?
>std::ref
о вы из сишарпа
источник

m

mAX in pro.cxx
Aidar Fattakhov
>std::ref
о вы из сишарпа
я из раста)
а тут вот используется std::ref..
http://www.cplusplus.com/reference/future/promise/

правда сейчас понял что в новых С++ std::future, std::promise, std::async сделали, а самого синтаксиса async await нету еще или вообще не будет..
использовать-то без него все эти фитчи не так уж и удобно
источник

🎄T

🎄🎊 R 🎅 Tb| ✡️ 🎊🎄... in pro.cxx
mAX
я из раста)
а тут вот используется std::ref..
http://www.cplusplus.com/reference/future/promise/

правда сейчас понял что в новых С++ std::future, std::promise, std::async сделали, а самого синтаксиса async await нету еще или вообще не будет..
использовать-то без него все эти фитчи не так уж и удобно
В 20 стандарте корутины будут
источник

AF

Aidar Fattakhov in pro.cxx
mAX
я из раста)
а тут вот используется std::ref..
http://www.cplusplus.com/reference/future/promise/

правда сейчас понял что в новых С++ std::future, std::promise, std::async сделали, а самого синтаксиса async await нету еще или вообще не будет..
использовать-то без него все эти фитчи не так уж и удобно
оно не про то
источник

AF

Aidar Fattakhov in pro.cxx
Aidar Fattakhov
Звучит как какой-то недоделанный фолбек
у меня в гцц future set_value вызывает call_once и в этом месте падает, но у меня древний гцц какойто
источник

AF

Aidar Fattakhov in pro.cxx
там throw system_error и terminate, но это не тупой аборт, так что не выглядит как баг
источник

AF

Aidar Fattakhov in pro.cxx
источник

ПК

Побитый Кирпич... in pro.cxx
mAX
я из раста)
а тут вот используется std::ref..
http://www.cplusplus.com/reference/future/promise/

правда сейчас понял что в новых С++ std::future, std::promise, std::async сделали, а самого синтаксиса async await нету еще или вообще не будет..
использовать-то без него все эти фитчи не так уж и удобно
Так и есть, до С++23 future и std::async будут неюзабельны, скорее всего
источник

AF

Aidar Fattakhov in pro.cxx
Побитый Кирпич
Так и есть, до С++23 future и std::async будут неюзабельны, скорее всего
std::async хорошая замена jthread была
источник

AF

Aidar Fattakhov in pro.cxx
кстати jthread пробрасывает эксепшны в главный поток?
источник

AF

Aidar Fattakhov in pro.cxx
короче я бы сказал что std::async(async) это то каким должен был быть std::thread, но название конечно упорото
источник

AS

Anatoly Shirokov in pro.cxx
Aidar Fattakhov
кстати jthread пробрасывает эксепшны в главный поток?
Any return value from the function is ignored. If the function throws an exception, std::terminate is called. In order to pass return values or exceptions back to the calling thread, std::promise or std::async may be used. https://en.cppreference.com/w/cpp/thread/jthread/jthread
источник