その4splhacksakamotoがなんとなく技術的と思う話を書き連ねるところ。4プログラミングブック』。「しかし、第5章『マルチスレッド』の補遺の割に、ちっともマルチスレッドじゃない」とお嘆きの読者様。マルチスレッドの話です。QueueにBlock突っ込むと、それはもう簡単に複数スレッドから同時に__block変数を書き換えることができます。いう話でしたら、それはもう詳しく説明している本がありますので、この場を借りてご紹介できればな、と思います。Dispatchの解説はい、宣伝させていただいてありがとうございます。dispatch_applyでガンガン__blockを書き換えるソースを書いてみます。0;}実行すればtotal=10000と出るはずです。実行してみましょう!total=6749あれ。Proで実行してますよ。total=10000期待通り。total=8664うーん。いうことで、すでにお気づきのことと思いますが、__block変数はスレッドセーフではありませんその1から読んでくださっている読者の方には当然の結果かとおもいます。-rewrite-objcで見たとおり、++(total.__forwarding->total);になってるだけですから、スレッドセーフなわけがないのです。