مشکل با chrono در c++ - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

مشکل با chrono در c++

0 امتیاز

سلام 

من یه برنامه‌ای دارم که توی اون از کتابخونه‌ی chrono استفاده کردم. توی برنامه م 10تا آبجکت از یک کلاس دارم که هرکدوم از اونها مشخصه ای به اسم entryTime دارن.

همچنین دو تا thread دارم که هرکدوم یه تابع متفاوت رو صدا میزنن. در تابع اولی مقدار entryTime آبجکت‌ها پر میشه و در دومی از اون استفاده میشه.

وقتی من بعد از اجرا شدن هر دو thread یک حلقه قرار میدم و میگم که مقدار entryTime همه‌ی آبجکت‌ها رو چاپ کن، همه‌ی مقدارها مثل هم هستن!! درصورتیکه اگر در هر دو تابع یک cout بذارم، این مشکل برطرف میشهsad واقعا برام عجیبه که یک cout چیکار میکنه که این مشکل برطرف میشه. وااااقعا ممنون میشم اگر کسی راهنماییم کنه....

این نکته رو هم اضافه کنم که اگر به جای پر کردن entryTime با chrono، مثلا یه عدد integer قرار بدم، هیچ مشکلی وجود نداره.

 

نحوه‌ی پر کردن entryTime:


std::chrono::high_resolution_clock::time_point tmpEntryTime = std::chrono::high_resolution_clock::now();

customerObj[selectedCustomer].entryTime = std::chrono::duration_cast<std::chrono::microseconds>(tmpEntryTime.time_since_epoch()).count();

 

سوال شده آبان 12, 1395  بوسیله ی mozhdeh_d (امتیاز 9)   1 1
ویرایش شده آبان 13, 1395 بوسیله ی مصطفی ساتکی
لطفاً کد خودتونو کامل بزارید تا نظر دقیق تری بدیم.
به طورکلی باید یکی باشه چون این کار به سرعت انجام میشه و زمانیکه شما cout قرار می دید یه وقفه ایجاد میشه.

پاسخ شما

اسم شما برای نمایش (دلخواه):
از ایمیل شما فقط برای ارسال اطلاعات بالا استفاده میشود.
تایید نامه ضد اسپم:

برای جلوگیری از این تایید در آینده, لطفا وارد شده یا ثبت نام کنید.
...