FLAGS

MENU

NOTICE

2008年6月4日水曜日

【プログラムネタ】ピタゴラスイッチアンチパターン (mixi05-u459989-200806040340)

ミクシ内で書かれた旧おかあつ日記を紹介します。
【プログラムネタ】ピタゴラスイッチアンチパターン
2008年06月04日03:40
・ ピタゴラスイッチアンチパターン
並列処理プログラムを作成している時、何かの結果として次の処理を呼び出すようにすると、最終的にgoto文を多用したプログラムのように読みづらくなって破綻してしまうこと。 これは例えるならば ピタゴラスイッチの複雑な機械(Rube Goldberg Machine)の様なもので、プログラムはどんどん複雑になっていく。

Rube Goldberg Machine
http://en.wikipedia.org/wiki/Rube_Goldberg

並列処理を行うときは、必ず全処理の文脈を把握し管理するスレッドを作成しなければならない。

・会議やりすぎアンチパターン
並列処理プログラムを作成している時、スレッド間のコミュニケーションをメッセージキューを使わずに行うこと。 結果的に各スレッド間で待ち合わせ時間が長くなりレスポンスが悪くなる。 そればかりか、期待したスレッドが到着しないことで、他のスレッドが全部待ち状態になり、処理がとまってしまうこともある。 これは会議ばかりして話が進まなくなってしまう会社の様なものだ。 メッセージキューを使い、会議をせずに仕事を進めるべきである。


レースコンディション
http://en.wikipedia.org/wiki/Race_condition

・レースコンディションが発生しないようにプログラムを組むというのは、至難の業だということがわかってきた。

コメント一覧
 
出展 2008年06月04日03:40 『【プログラムネタ】ピタゴラスイッチアンチパターン』

著者オカアツシについて


小学生の頃からプログラミングが趣味。都内でジャズギタリストからプログラマに転身。プログラマをやめて、ラオス国境周辺で語学武者修行。12年に渡る辺境での放浪生活から生還し、都内でジャズギタリストとしてリベンジ中 ─── そういう僕が気付いた『言語と音楽』の不思議な関係についてご紹介します。

特技は、即興演奏・作曲家・エッセイスト・言語研究者・コンピュータープログラマ・話せる言語・ラオ語・タイ語(東北イサーン方言)・中国語・英語/使えるシステム/PostgreSQL 15 / React.js / Node.js 等々




おかあつ日記メニューバーをリセット


©2022 オカアツシ ALL RIGHT RESERVED