わからんけど、グラヒクスと音声は リップシンクがあるから必ずしも別じゃないし
そもそも、音声を鳴らすチップ自体が独立したコアみたいなもんだからなぁ・・・
ネットワークチップだって独立したチップのやつは 別のコアみたいなもんだぜ?
話はずれたけど、まともなマルチコア向けプログラムを書くとなると、いわゆる1スレッド1役割みたいな処理は欠かずに
タスクシステムとか、スレッドの役割分担システムみたいなものを自分で書き下ろして、いわゆるマルチファイバーというか、マルチタスク的なシステムで
組んでいくから、(マルチタスクを自前で組むことが必ずしも高速化ではなくて、いくつもノウハウがあるけど) あまり、セマフォというかミューテックスを意識することは少ないよ?
たとえば、ちょっと違うけど 通信が一万本合ったら、1万スレッド起こすのか?起こさないというのと同じかなぁ。
逆に言うと1つのタスク中に入りと出以外に何箇所もロックしたり、開放したりするシステムはコンテキストスイッチの考え方からあまりよくない。
リソースになるべく触らない、触ったらローカルメモリーに移しておく、なるべく長い時間1つのスレッドを走らせる。リソースに触るときは処理終了して次のタスクにしてしまう。
などなど、そんな感じ。 スレッドに役割を振り分ける というよりは、タスクで回していくという感じ。
もちろん、長々走るものもあるだろうけど。