■掲示板に戻る■ 全部 1- 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 最新50



レス数が1000を超えています。残念ながら全部は表示しません。

Mac OSX はどうよ?(マカーお断り) Part3

253 :251 :02/07/10 01:46

>>252

まぁ、cthread マンセーも悪くないかと。ただ、漏れはNSThread みちまったからああ
いう単純(大味)な方が好みだ。漏れの自作ライブラリもあんな感じで良きに計らえだ
ったからな。

thread_susptend() って cthreadいじってた頃も結局やらなかったんだよな。どうも
漏れのコードではスレッドを外部から操作するってものがはいらんみたいだ。ここら
辺は作り方に寄るのかもしれん。何故か SYSVスレッド時代は thr_kill とかばしばしと
使ってたのだが、あの頃はスレッドが分かってなかったので漏れが下手なだけだった
のかも。

後付だからって話だが、Solarisっつーか SYSVの thr_* はそれはそれで良くできてたぞ。
OSやバージョンによってはバグバグっつーか、仲間が HP-UXの古いので泣いてたが。
漏れも油断しては秘孔をついてOSごとこかしてた(藁)が、そこさえ避ければゴキゲン
だったな。

Linuxの嫌なところは考え無しに作るから後で矛盾が起こるって事だ。cron()システム
コールの上に pthread()実装してるって話だが、こいつがスレッド毎にPID変えてくれ
るから「別スレッドの生んだ子プロセスの親とは見なされない」ってアホなことがお
こる。
あと、yield()も入れるように心がけているが、どうも切り替わりが悪い。SMPマシン
だっつーのに平気で分単位でスレッド間の遅延が起こる。Mac OS Xの移植版(って、
これは漏れが会社でコソーリやってる趣味だが)やSolaris の上のだと綺麗に流れるのに
Linuxだけなんかギクシャクしてくれるので鬱。

SMPなx86マシンで きちっとスレッド対応してくれるフリーなOSがでれば、Linuxな
んぞ明日にでも捨ててやるのに... NetBSDのSMPやカーネルレベルスレッドは1.7?
2.0?待ちで、さすがに仕事で -current 使ってくれとは言えないので却下。FreeBSD
は論外。
Darwin for x86 はそういう意味で期待してるが、漏れの会社のマシンだと動くかよく
わからん... 逆に、安定して動いてくれれば 他の *BSDにないメリットがでてくるの
だが。

とはいうものの、並列処理なプログラムかけねーやつが多すぎて、スレッド周りが
良くてもメリットが見えにくいのかもしれん。漏れの所にも一人頭悪いのがいて、
unsafe なライブラリ作ってくれるモンだから、漏れの側で泣く泣く mutex で排他
処理してるよ。そしたら「勝手に逐次処理にするから遅い」って文句いってきやがる。
まずその static の山の、ロックの一つもないコードをなんとかしてからいえっての。

なんか、あまりMac OS Xと関係話でスマソsage



掲示板に戻る 全部 前100 次100 最新50

read.cgi ver5.26+ (01/10/21-)