トップページ > コンテンツ > プログラミング入門 > C言語入門 > C言語の基本まとめ > C言語でのスレッド

ジョブ、タスク、プロセス、スレッドの違いは、
ジョブ 人間から見た仕事
タスク ジョブに対してPCがジョブを分割して、PCで仕事をしやすくしたもの
プロセス タスクとほぼ同意義に使われることも多い。アプリケーションレベルでの仕事を指す(word.exeとexcel.exeが走っている等)。複数実行できたりする
スレッド プロセス上でいくつか走っている仕事。例えば、wordで文字を表示するのと文字カウントが自動で動いている等)
プロセス≒タスクの位置づけは1つ以上のスレッドからなり、複数スレッドは同じメモリ空間を共有している
といった関係性を持ったものになる。

尚、スレッドの実装方法については
下の参考のページから結構引用しているので、そちらを参考にしたい。

スレッドの実装方法はunix系とwindows系OSで異なる。
unix系の場合は<pthread.h>をインクルードして、
pthread_t id;
pthread_create(&id,NULL,関数名,引数);
pthread_detach(id);
でデタッチしてやれば良い。
pthread_detachかpthread_joinは必須だということのようだ。

windows系の場合は<windows.h>や<proces.h>を
利用して、_beginthread(関数名,0,NULL);
_endthread()等を利用する。

ちなみにpid,fork等のforkの戻り値を制御するのは
windows系はできないようで、cygwinとかなら何とか
できるレベル



最終更新:2011年04月02日 16:31