ãã¯ã誰å¾ã¬ãã«ã«ãªãã¤ã¤ããã¾ãããä»åãã¡ã¢ãªããªã¢ã«ã¤ãã¦ã®è©±ã§ãã以åã®è©±ã®ç¶ãã«ãªãã®ã§ãã¾ã ã®æ¹ã¯ååã¨ååã®ã¨ã³ããªãå ã«ã©ããã ãã¦ãã¾ãæåã«ãC++0xã®atomicã¯ã©ã¹ã使ã£ããæ£ããåæåããã¦ããã³ã¼ããã®ä¾ãæãã¦ã¿ã¾ãã struct Hoge { int foo; }; // åæå¤ std::atomic p(nullptr); // Thread 1 Hoge* r1 = new Hoge(); r1->foo = 42; p.store(r1, std::memory_order_release); // Thread 2 Hoge* r2; do { r2 = p.load(std::memory_order_acquire); } while (r2 == nullptr); std::cout << r2->foo; // 42ãåºåãããã


{{#tags}}- {{label}}
{{/tags}}