マルチスレッドでは、排他処理やスレッド同期を常にやってたのでは
せっかくのマルチスレッドが生かせない。
設計を上手くやって、同期や排他処理を必要ないようにするのがコツ。
・単ワード(CPUのデータ幅以内)で構成される整数型、ポインタ型、浮動小数点型は
あるスレッドが読み書して、他が読むだけの使い方であれば排他処理は必要ない
この方式でスレッド間通信に使う事も可能
・int64は2ワードとなるのでダメ
・メモリ境界をまたぐ32bit変数も デュアルCPU構成等の環境でダメなので注意
これを利用して、構造体を渡す場合も、リングバッファ構造にしてそのポインタか、配列番号を渡す
ようにすれば、同期や、OSの提供する排他処理に頼らずにすむ。