সাধারণভাবে আমি ধরে নিয়েছি যে স্ট্রিমগুলি সিঙ্ক্রোনাইজ করা হয়নি, উপযুক্ত লকিং এটি ব্যবহারকারীর উপর নির্ভর করে। তবে, coutস্ট্যান্ডার্ড লাইব্রেরিতে বিশেষ চিকিত্সা পাওয়ার মতো জিনিসগুলি কী?
অর্থাত্ যদি একাধিক থ্রেড লিখতে থাকে তবে coutতারা coutকী বস্তুটিকে দূষিত করতে পারে ? আমি বুঝতে পারি যে সিঙ্ক্রোনাইজ করা হলেও আপনি এখনও এলোমেলোভাবে আন্তঃবাহিত আউটপুট পেতে পারেন তবে এটি ইন্টারলিভিংয়ের গ্যারান্টিযুক্ত। অর্থাৎ, coutএকাধিক থ্রেড থেকে এটি নিরাপদ ?
এই বিক্রেতা কি নির্ভরশীল? জিসিসি কি করে?
গুরুত্বপূর্ণ : আপনি যদি "হ্যাঁ" বলে থাকেন তবে আপনার উত্তরটির জন্য দয়া করে কোনও প্রকারের রেফারেন্স সরবরাহ করুন কারণ এর কোনও প্রমানের আমার প্রমাণ প্রয়োজন।
আমার উদ্বেগ অন্তর্নিহিত সিস্টেম কলগুলি সম্পর্কে নয়, সেগুলি ভাল, তবে স্ট্রিমগুলি শীর্ষে বাফারিংয়ের একটি স্তর যুক্ত করে।
printfজ্বলজ্বল করে stdout; std::coutএক্সপ্রেশন চেইনের প্রতিটি লিঙ্ক ব্যবহার করার সময় পৃথকভাবে আউটপুট হবে stdout; তাদের মধ্যবর্তী সময়ে আরও কিছু থ্রেড রাইটিং থাকতে stdoutপারে যার কারণে চূড়ান্ত আউটপুট ক্রমটি গোলমাল হয়ে যায়।