タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

queueに関するnikuyoshiのブックマーク (2)

  • 分散キューという名の苦しみ - Software Transactional Memo

    TL;DR 分散システムにおいてキューを導入する場合、当にキューが必要なのか再考すべき。そこが地獄の入り口だから。 システムの抽象 コンピュータの世界は、来は0と1の信号の羅列が飛び交う無機質なものである。でも人類は信号だけですべてを語らず、様々な喩えを定義してきた。それはデスクトップ・ウィンドウ・マウスカーソルといったグラフィカルな表現に留まらず、パケットやカプセル化といった用語にロック・キュー・リスト・木などのアルゴリズムやデータ構造の世界にも自然に溶け込んでいる。これらはすべて人間の理解を助けるための喩え話に過ぎず、この喩えこそが人間のより直感的な理解をもたらす一方で、発想の制約を生み出してきた。 人間が大きなシステムを作るときも何らかの喩えを用いてシステム全体を整理する。アーキテクチャの「ポンチ絵」を描いて情報共有をするのは企業に勤めていれば経験した人も多いだろう。パワーポイン

    分散キューという名の苦しみ - Software Transactional Memo
  • 待ち行列

    待ち行列(queue)とは 待ち行列をとりあえず簡単に構築する リングバッファ 待ち行列の構造体を作る レポート問題 待ち行列(queue)とは 待ち行列(キュー)も,逐次入出力が繰り返されるデータを一時的に貯えておくためのデータ構造である。なお,英語でキュー(queue)とは,レジなどで順番を待つ人の列も意味する。 待ち行列にデータを追加することを enqueue と言い,待ち行列からデータを取り出すことを dequeue と言う。待ち行列へのデータの追加取り出しは次のように行われる。 enqueue: 追加されたデータは順次,待ち行列の末尾に付け加わる。行列の長さは1だけ増える。 dequeue: データを取り出すときには,待ち行列の先頭から取り出す。行列の長さは1だけ減る。 すなわち,待ち行列から一つデータを取り出すとき,それは(残っているデータの中で)最初に追加したものである。この

  • 1