パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

最小限のゲノム473個しか待たない細菌を人工的に作成することに成功」記事へのコメント

  • by Anonymous Coward

    機能は解明されていないってこと?

      // なぜだかわからないが消すと動かない

    というコメントみたいだ。

    • Re: (スコア:2, 参考になる)

      by Anonymous Coward

      実際にこういうプログラムに陥った事があるんだけど、
      理由はマルチコアCPUとスレッドプログラミングの問題で、
      排他処理がうまく行ってなくて、タイミングによって発生したりしなかったり.....
      という状態だったかな。

      この状況が発生したのは、CPUのシングルコア->マルチコア移行期で、シングルコアCPUなら全然問題ないんだけど、
      マルチコアCPUだと不具合を起こす......ってな感じだったよ。
      で、不要なプログラムなんだけど、そのプログラムがあるお陰で別スレッドで処理しているデータ処理の終了と、
      現在動作しているスレッドのタイミングが合って正常に動作するけど、消すとタイミングが変わって不具合が発生してたよ。
      こういう場合、たいていはSleep入れると動いたらしく、当時の担当者はSleep多用してたたけど、
      何か修正するとタイミングがズレて不具合発生したりするんで、オレが引き継いだ時は大変だったよ。
      そんな事があったから、オレはちゃんと他のスレッドで処理中か.....って確認するように修正したけどね。

      • その頃からセマフォとかmutexはWindowsにもU*ix系のOSにもあったような…(;´Д`)
        最低でもU*ix系だとプロセス間の排他ロックの機構ももってましたし(Windows方面は知らないけど多分ある)…
        なので、Sleep云々というバッドノウハウで何とかするより、他の開発者と話をしてジョブスレッドとは関係ないところのスレッドでセマフォ設定してそこを取ってからデータ実体を叩いて貰いに行くように直してもらうのが王道だったのでは(;´Д`)

        • すいません. FreeBSDの初期のICHサウンドドライバでmutex処理を省いていました. 当時はチップセット内蔵のサウンド機能を使うような機種だと, SMP構成なんてありえないだろうと考えていて, ドライバルーチンを抜けるまではスレッドを専有できるという前提でコードを組んでいました. mutex処理を入れることで, コードが見づらくなったり, 貧弱なCPUでオーバーヘッドがかかるのを嫌ったってこともありますが.

          親コメント

UNIXはただ死んだだけでなく、本当にひどい臭いを放ち始めている -- あるソフトウェアエンジニア

処理中...