আমি মোটামুটিভাবে এটি করতে চাই:
প্রাথমিক থ্রেড:
- বিশ্বব্যাপী কিছু মান লিখুন (সেগুলি আর কখনও লেখা হবে না)
- এটি মাঝারিভাবে বড় ডেটা (অ্যারে, স্ট্রিং ইত্যাদি) হতে পারে। সহজভাবে তৈরি করা যায় না
std::atomic<>।
- এটি মাঝারিভাবে বড় ডেটা (অ্যারে, স্ট্রিং ইত্যাদি) হতে পারে। সহজভাবে তৈরি করা যায় না
- অন্যান্য থ্রেড স্প্যান
অন্যান্য থ্রেড:
- গ্লোবাল স্টেট পড়ুন
- কাজ, ইত্যাদি
এখন, আমি জানি আমি যুক্তিগুলি পাস করতে পারি std::thread, তবে আমি এই উদাহরণটির মাধ্যমে সি ++ এর মেমরির গ্যারান্টি বোঝার চেষ্টা করছি।
এছাড়াও, আমি দৃ confident়ভাবে আত্মবিশ্বাসী যে কোনও বাস্তব-বিশ্ব বাস্তবায়নের জন্য, থ্রেড তৈরি করা মেমরির বাধা সৃষ্টি করে তা নিশ্চিত করে যে থ্রেডটি পয়েন্ট অবধি অবধি পিতৃত থ্রেড যা কিছু লিখেছিল তা "দেখতে" পারে।
তবে আমার প্রশ্নটি: এটি কি স্ট্যান্ডার্ড দ্বারা গ্যারান্টিযুক্ত?
একদিকে: আমি মনে করি আমি কিছু ডামি std::atomic<int>বা আরও যোগ করতে পারলাম এবং অন্য থ্রেডগুলি শুরু করার আগে এটি লিখতে হবে, তারপরে অন্যান্য থ্রেডগুলিতে এটি একবার স্টার্টআপের পরে পড়ুন। আমি বিশ্বাস করি যে পূর্বে লিখিত বিশ্বব্যাপী রাষ্ট্র যথাযথভাবে দৃশ্যমান তা গ্যারান্টি দিয়েছিল machinery
তবে আমার প্রশ্নটি হ'ল যদি এর মতো কিছু প্রযুক্তিগতভাবে প্রয়োজন হয়, বা থ্রেড তৈরির পক্ষে যথেষ্ট?
std::atomic<int>করতে পারি ... আপনি ব্যবহার করতে পারেনstd::atomic_thread_fence।