可変長配列データベースのまとめ

かなり間が空きましたが、可変長配列データベースのまとめです。今まで個別に説明してきたものをまとめただけでなく幾つか修正しています。一つバグがあったので修正した他は、以下の点を改良しています。 データベースの生成とオープンのメソッドを分離 デ…

スレッドプール

簡単なスレッドプログラミングは今まで書いてきたことで十分できると思います。ただ、この方法では処理の単位でスレッドを生成することになります。プロセスの生成に比べればスレッドの生成は格段に軽いのですが、同様の処理を大量に実行するといった場合に…

ロック - 排他処理

共通のデータを扱う複数のスレッドを起動する場合には排他処理のためのロックが必須となります。あるスレッドがロックをかけると他のスレッドがロックをかけようとしてもロックが解除されるまで待たされます。本当は「待たされる」だけでなくいろいろな挙動…

C++簡単スレッドプログラミング

Javaでのスレッドプログラミングの方法に慣れると、pthreadの関数によるマルチスレッドのプログラミングが使いづらく感じて仕方ありません。かといってスレッドプログラミングのツールを本格的に使うほどのこともないようなときに簡単にスレッドを利用できる…

可変長配列データベース

では、可変長配列データベースを作成します。ここでの「可変長」とは配列の各要素のサイズが可変であることを意味します。もちろん要素数も可変です。前にも書いたように可変長データを固定長データに分割して固定長データーベースに保存します。分割した固…

ポインタのエンコード

さぁ、可変長配列データベースを作成しましょう、といいたいところですが、やはり、前準備が必要です。可変長データベースでは可変長データを複数の固定長データに分割して固定長データベースに管理するので、固定長データのリスト構造を生成します。そのた…

固定長データベース

継承クラスとなる固定長クラスの永続化ができたので、これで固定長データベース(Pool)の実装が可能です。 固定長データを扱う場合に、追加するだけなら固定長配列データベースでもあまり問題はないのですが、削除しようとした途端、削除した配列要素の管理が…

固定長配列データベースの改良

スタックデータベースができたので、固定長データベース(固定長配列データベースではありません。)を実装しましょう、と言いたいところですが、その前にもうちょっと準備が必要です。 固定長データベースを用いて固定長配列データベースを実装しようと思う…

スタックデータベース

固定長配列データベースができたなら、やはり、可変長配列データベースへと行きたいところですが、これはさすがに大変そうですね。その前に幾つか手順を踏む必要があります。 可変長配列データベースは固定長配列データベース上に実装することにします。一つ…

固定長配列データベース

ちょっとしたデータを管理したいけどが、DBMSなどを使うほどでもない、かといってデータをいちいちファイルに書き出したり読み込んだりするのは面倒だということが、たまにあります。 では、そんな時に簡単に使えるものを試しに作ってみようということでSTL…

はじめに

興味のあることをちょっとだけ掘り下げて、人に役立ちそうな情報を書いていく予定です。 主にプログラム関係ですが、それ以外もいろいろ書きたいとは思っています。 でも、いつまで続くことやら…