..
すべての現代のオペレーティングシステムは、同時に実行されているさまざまなプログラムに実行時間とメモリ空間を割り当て、マルチプロセス管理のモデルになるには何年もかかる。 近年では、主にネットワーク通信の普及のために、この概念は、コントロールそれらのスレッドを 、同じプロセスの複数のストリームを分割し、個々のソフトウェアに拡張されました。 常に増加するソフトウェアの複雑さという点で支払わされ、モジュール性と表現力を発生するようにこの新しいアプローチは、理論と実践の両方、ソフトウェアの構造に大きな変化をもたらします。
Javaの、スレッドを作成および管理するためのすべてのオファーネイティブAPIから、最新のプログラミング言語、JavaやCなどの仮想マシンをベースとしたシステムは、#抽象化のレベル、この問題について一貫性のある、他のすべての開発者を持っている多くの場合、コードの移植性の問題を招く、オペレーティングシステムのプリミティブに依存する必要があります。 この文脈では、ライブラリは、異なるシステム間で移植性のCの開発者はまた、最低保証できるように、POSIXスレッド (Pthread)の一部です。
この記事は、低レベルの言語での並行プログラミングの話題にアプローチしたい人を対象としています。 本発表では読者がすでにC言語の基本的な知識を取得したことを前提としていますが、基本的な例えば、などのトピック、メモリ管理とデータ型として扱われることはありません。
同じように簡単に名前から推測、POSIXスレッドライブラリは、POSIXのセット([Unix用]ポータブルオペレーティングシステムインタフェース)の一部です。 定義"pthreadを引用し[...]シングル[...]へスレッドプログラミングのプロセスのための一連のインタフェース(関数、ヘッダファイル)が試験のプログラムを実行しているすべてが複数のスレッドを、含むことができる指定[...]同じ共有グローバルメモリ(データとヒープ領域)が、ITS各スレッドは独自のスタックを持っています。" この抜粋では、POSIXスレッドでは、マルチプログラミングに関与しているかを正確に説明します。
POSIX標準は、例えば、GNU /偶数は、Linux、Mac OSX、BSD、およびWindows(いくつかの追加で)、などのすべてのPOSIX準拠のシステム間での統合の高いレベルを提供する使用。 この記事の中で我々はもちろんのGNU / LinuxでのGCCの使用、を参照する、すべての考慮事項は、他のPOSIXライクな環境に繰り越されている。
pthread.hのライブラリは、マルチスレッドのプログラミングに必要なすべてを提供するのではなく、提供するプリミティブの単なるリストを作る、私たちはその違いを議論することで、時間から時間への実践的な例を紹介します。
ですから、以下の問題を考慮:プログラムは銀行振込から口座に行われるピッキング及び/または預金のいくつかのファイルを読み込む必要がありますが、これらのファイルは、以下の形式になります。
120 -550 896 5541 -85 ...別のスレッドで単一のファイルの"キャッシャー"の各操作と更新が同時に顧客のアカウントをスピードアップするために、我々は、アカウントの出力の状態ですべての操作を行った。
| |
Paint Shop Proは(まず)
コーレルPSPでWebグラフィックや写真の編集が知られている。 49€から。 |
| |
Photoshopの(コース)
人気のAdobe PhotoshopでWebグラフィックや写真の編集。 49€から。 |
| |
XML(コース)
XMLの構造、XSLおよび他の言語の拡張可能の作成 。 29€から開始。 |