■■ M a c で プ ロ グ ラ ミ ン グ ■■
■ このスレッドは過去ログ倉庫に格納されています
0379名称未設定
01/12/05 10:20ID:KS3GZkVUCocoaとかCarbonとかQuarzは、Unix流に言えば、OS側のコードではないですよね。
CocoaとかCarbonというのは、GUIアプリケーションにリンクするための
単なるダイナミックライブラリで、
Quarzってのは、AquaのWindowサーバと、Windowクライアントとして、
GUIアプリケーションにリンクされるダイナミックライブラリですよね。
どちらも単なるユーザエリアのプログラムもしくはその一部ということです。
OSX上には、ほかにもいろんなユーザエリアプログラムがあるので、
それらユーザエリアプログラムのためにスレッドを勝手に増やさないでというのは
理に合わないような気が。。。
あと、Machのセマンティクスにもそれではあってないのでは?
> そうするとcthreadとpthreadは違うレベルで動いてるのか?
Libcのソースを見るとわかると思います。
pthreadはcthreadで実装されてます。中をみると、
単にcthreadのインターフェースをpthreadに変えている程度のコードです。
pthreadは単なるライブラリAPI、cthreadはシステムコールです。
システムコールを使うべきでないってのはどういう理由なんでしょうね。
ちなみに、pthreadは実装が抽象的で、細かいことができないので、あまり好きでないです。
まあ標準だからOSにdependしないように作ってあるから、そうなるんでしょうけどね。
■ このスレッドは過去ログ倉庫に格納されています