カテゴリー

アーカイブ






マルチスレッド


最近はマルチスレッドに手を出しているんだけど
自分の理解が足りないせいで、うまくいかず
レンダラーも進んでおりません 

コードを実行するたびに違う箇所で落ちてしまうので
多分排他制御に失敗しているんだろうけど
ミューテックスをちゃんと理解していないな〜

うちにある唯一のC-Magazineが「マルチスレッド」特集をしているのだけど 
ひたすらWindowsなのでピンポイントでの参考にはなりませぬ。。。



2 Responses to “マルチスレッド”

  1. mynz Says:

    そこで関数型言語の採用ですよ。
    副作用を無くなってしまえば排他処理をする必要がないから自然と並列化ができる。

    ま、それはともかく、並列化プログラミングの難しさはパターンやパラダイムにまで及ぶし、何よりも不具合の原因を突き止めるのに膨大な手間がかかる恐れがあるから大変だよね。 人間の思考にも逆らうし。

    コンピューティングの歴史は人間がコンピュータをいかに手なずけるか、いかに大きな処理もこなせるかを(cf.OOP)探求してきた側面があるわけだけど、それは圧倒的にシングルスレッドの上に構築されていて、並列処理に対するインフラはまだまだ茨の道。

    個人的には生産性がおちるし、極力マルチスレッドには触れたくないトコロ。
    少なくとも、大々的に関数型言語やOpenCL、Ctといった並列化が前提にデザインされたインフラが立ち上がってくるまでは、コストとのかねあいで消極的にしか活用しなさそう。

  2. あきを Says:

    確かに生産性が落ちてるけど
    リアルタイム処理が前提でのマルチスレッドじゃないから
    致命的なエラーに対して原因となりうる因子の数は
    まだまだ少ないんじゃないか、という前提でイバラの道に進んでいます

    関数型言語ですか
    Gaucheほっといたまんまなんで勉強したいな
    仕事上で使えればいいけど
    今はとにかく遅れをとるようなことができないので
    手慣れた『手垢にまみれたシェルスクリプト』を使う事しかできませんわ

Leave a Reply