異なるプロセスのメモリ空間(アドレス空間)は独立である。OS はメモリを 仮想的に多重化し、各プロセスそれぞれに別々(であるかのよう)なメモリを提供する。 各プロセスは他のプロセスを全く意識せずに メモリを使用しており、逆に他のプロセスのメモリ空間には全くアクセスできない。 これを実際に確認してみよう。
スレッドは、プロセスと同じく「実行状態にあるプログラム」であり、 OS により独立な CPU 資源を与えられる。 しかし、メモリ資源は独立には与えられない点がプロセスと異なる。 pthread_create で生成されるスレッドは全て親スレッドとアドレス空間を 共有する。(必然的に子スレッド同士のアドレス空間も共通となる)