چطور std::thread را pause و resume کنیم؟ - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

چطور std::thread را pause و resume کنیم؟

0 امتیاز
سلام.

چطوری میشه از رویه های resume وpause در std::thread استفاد کرد؟ هر چقدر گشتم همچین توایعی ندیدم.
سوال شده خرداد 17, 1394  بوسیله ی hojat1 (امتیاز 875)   12 69 99

1 پاسخ

0 امتیاز
بله درسته همچین توابعی تو استاندار برای std::thread وجود نداره ولی خودتون می تونید کلاسی برای اینکار طراحی کنید.برای اینکار یک متغیر flag از نوع std::atomic<bool> تعریف کنید که وضعیت resume و pause را نگهداری کنه بعدش هم تو ابتدای کد تون همون تابعی که قرار thread اجرا کنه سپس تا زمانی که pause == true هستش std::this_thread::yield را فراخوانی کنید توی یک حلقه while این میشه .شما از بیرون می تونید متغییر atomic flag را مقداردهی کنید.
پاسخ داده شده خرداد 18, 1394 بوسیله ی مصطفی ساتکی (امتیاز 21,998)   24 34 75
...