私は、画像の読み込み/キャッシュシステムの多くの試行/エラーバージョンに取り組んできました。Delphiである私は、常にオブジェクト指向プログラミングに慣れています。しかし、私はいくつかのマルチスレッドの実装を開始して以来、このシステムは代わりに手続きベースで機能するはずだと考えていました。
これらのプロセスがスレッドプールにキックインされ、イメージのダーティなロード/保存を実行し、それらを解放するためです。プロシージャ/関数、レコード、イベント、およびグラフィックスを使用できるときに、これらのスレッド化されたプロセスをオブジェクト内にラップしようとしてきました。すべてがユニット内にある場合、すべてをクラス内にラップする必要はありません...そうですか?
今私が尋ねている主な理由の1つは、このシステムがユニットの下部で初期化されているためです。OmniThreadLibrary(OTL)を使用する場合、すでに初期化された独自のスレッドプールがあり、私も初期化する必要はありません。
では、このシステムにはどちらのアプローチが適しているのでしょうか。オブジェクト内にラップされているのか、ユニット内で機能しているだけなのか、そしてその理由は何ですか。オブジェクト内ではなく、ユニット内で何もラップしないマルチスレッドの例はありますか?