Cでマルチスレッドなプログラム書くときのデザインパターンというか、オススメの書き方って何かある?