pthread地獄 part 2 (232レス)
pthread地獄 part 2 http://mevius.5ch.net/test/read.cgi/unix/1166620307/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
1: 名無しさん@お腹いっぱい。 [sage] 2006/12/20(水) 22:11:47 Posixな糸に群がる亡者どものスレ。地獄の底でsage進行。 徳の高い人はpthread天国でも可。 ■前スレ pthread地獄 http://pc8.2ch.net/test/read.cgi/unix/1010933537/ http://mevius.5ch.net/test/read.cgi/unix/1166620307/1
133: 93 [sage] 2008/07/25(金) 12:52:01 >>131 まだ、なにも作ってないですよ。 pthreadというか、マルチスレッドのプログラムを作るのが始めてなので、 いろいろサンプルを作って勉強している最中です。 このスレとっても勉強になります。 レスしてくださっている皆さんありがと。 ところで、本屋行っても、pthread(マルチスレッド)に関する書籍ってほとんどないですよね。 あっても、10年ぐらい前に出版されたものが殆んどで。 この先、CPUはメニィコアに進もうとしているからもっと沢山あっても良いと思うんですが、 pthreadってあんまり使わないんですかね? http://mevius.5ch.net/test/read.cgi/unix/1166620307/133
134: 名無しさん@お腹いっぱい。 [sage ] 2008/07/25(金) 12:57:45 > スレッドモデルで同じことを実装することは可能なのか? 想定しているのがSIGSEGVやSIGILLのようなプログラムロジックの バグである限り、不可能というのが答。 プロセスには、スレッドに比べて、メモリ空間が分離されていて SIGSEGVやSIGILLのような誤動作の影響を完全に排除できるという 特徴がある。つまり、まさにプロセスの利点に当てはまるケースな わけで、このような想定状況で、スレッドにプロセスと同等の信頼性 を求めることはできない。 > こういったプログラムは同期シグナルとどうやって折り合いをつけて > いるんでしょうか。 バグが原因で発生するシグナルは別として、sigwait() で対処するのが常識。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/134
135: 93 [sage] 2008/07/25(金) 13:40:09 >>134 そっか。 やっぱりそうなんですか。 非同期シグナルであれば、シグナル受け専のスレッドを立てておいて、そこで sigwait()するってのは判るんですが、同期シグナルはsigwait()では待てないですもんね? ん?待てるのか? ちょっと試してみる。 でも、待てたとしても、どのスレッドがその同期シグナルを発生させたかって、シグナル受け専 スレッドで判らないけりゃどうしようもないですし。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/135
136: 名無しさん@お腹いっぱい。 [sage] 2008/07/26(土) 12:58:41 悪いこといわねえだ。signal扱いたいならprocess村に帰った方がええ。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/136
137: 名無しさん@お腹いっぱい。 [sage] 2008/07/26(土) 17:23:08 つ libevent http://mevius.5ch.net/test/read.cgi/unix/1166620307/137
138: 名無しさん@お腹いっぱい。 [sage] 2008/07/26(土) 19:24:07 libevent はマルチスレッド環境でも安全に使う方法があるってだけで、 それ自体がスレッドセーフな作りになってるってわけじゃなかったはず。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/138
139: 93 [sage] 2008/07/29(火) 10:32:25 とりあえず、やってみました。(Solaris10 x86です。) ボス側で全てのシグナルをブロックし、シグナル受信専用スレッドを作成し、そこでsigwait()。 ワーカースレッドでSGISEGVを発生させるために、NULLアドレスに書き込み。 結果は、プロセスごと終了。 同期シグナルは発生元のスレッドに送られるのでシグナル受信専用スレッドでsigwait()していても 捕まえる事が出来ないってことですね。 同期シグナルは、ワーカースレッド側でsigset()して、シグナルハンドラ側でボスに >>125 すれば、 とりあえずハンドリングは出来ますが、 >>127 にもあるように、どこまで動くのかは不明ですね。 >>134 にもあるように、この辺りがマルチスレッドと、マルチプロセスの差という事なんですね。 そもそもスレッドってなに?、スタックとスレッドの関係って?、プロセスとスレッドの関係って? OSはスレッドをどう認識してるの? なんてことが判っている人にとっては自明なんでしょうが、私にもようやくこの辺りが判って来た 様な気がします。 なかなか使いどころが難しいですが、面白い仕組みですね。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/139
140: 名無しさん@お腹いっぱい。 [sage] 2008/07/30(水) 21:16:41 シグナルのことを考えるとunixでスレッドをモリモリ使うのはキツい。角度とか。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/140
141: 名無しさん@お腹いっぱい。 [sage] 2008/08/09(土) 19:15:44 あと、子プロセス生成(fork)も相性が悪くて、深い悲しみに包まれた。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/141
142: 名無しさん@お腹いっぱい。 [sage] 2008/08/09(土) 20:02:32 マルチスレッドプログラミング→排他漏れ続出→永遠とバグが取れない→いくえ不明 http://mevius.5ch.net/test/read.cgi/unix/1166620307/142
143: 名無しさん@お腹いっぱい。 [] 2008/08/09(土) 20:41:21 俺はマルチプロセスを使い手なんだが相手が残念な事にスレッドを使ってきたので「お前それで良いのか?」と言うと「何いきなり話かけて来てるわけ?」と言われた。 俺の弟がスレッドの熟練者なのだがおれはいつも勝つから相手が気の毒になったので聞いただけなんだがむかついたので「お前シグナルでボコるわ・・」と 言ってmain直後に力を溜めてkillしたら多分リアルでビビったんだろうな、、pthread_sigmaskしてたからサスペンドしてカカッっとforkしながらkillしたらかなり青ざめてた おれは一気にlongjmpしたんだけどスレッドが硬直してておれの動きを見失ったのか動いてなかったからコマンド投下で排他を崩した上についげきのデッドロックでさらにダメージは加速した。 わざとセマフォをとり「俺はこのままタイムアウトでもいいんだが?」というとようやく必死な顔してなんかコードのはしっこからブロック型システムコール出してきた。 おれはselectで回避、これは一歩間違えるとカウンターで大ダメージを受ける隠し技なので後ろのギャラリーが拍手し出した。 俺は「うるさい、気が散る。一瞬の油断が命取り」というとギャラリーは黙った スレッドは必死にやってくるが、時既に時間切れ、スタックガードを固めた俺にスキはなかった たまに来るスタックガードでは防げない攻撃もexitで撃退、終わる頃にはズタズタにされたメモリ空間のcoreがいた http://mevius.5ch.net/test/read.cgi/unix/1166620307/143
144: 名無しさん@お腹いっぱい。 [sage] 2008/08/10(日) 03:35:51 MTは処理効率も応答性もいいのでプログラマからは良くたよりにされる だがたよりにされたいからMTに分けてもダメだと言う事が最近わかった MTに分けるのは真にMTの問題だから処理を分けたくて分割するんじゃない 分かれてしまう処理がMT GUIはざんねんがはっきりいってmutexはつかわないしAPIもMT-unsafeとかイマイチだから信頼されにくい http://mevius.5ch.net/test/read.cgi/unix/1166620307/144
145: 名無しさん@お腹いっぱい。 [sage] 2008/08/15(金) 13:04:59 これ以上スレッドを作るなよ プロセスはお前等のためにメモリ空間提供してやってるんだからな プロセスが終了すればすぐ死ぬくせに調子こき過ぎ あまり調子に乗ってると裏世界でひっそり幕を閉じる http://mevius.5ch.net/test/read.cgi/unix/1166620307/145
146: 名無しさん@お腹いっぱい。 [] 2008/10/09(木) 04:28:39 hosyu http://mevius.5ch.net/test/read.cgi/unix/1166620307/146
147: 名無しさん@お腹いっぱい。 [] 2009/11/04(水) 21:43:34 pthread_yeild って無いの? http://mevius.5ch.net/test/read.cgi/unix/1166620307/147
148: 名無しさん@お腹いっぱい。 [sage] 2009/11/04(水) 23:49:54 なくなったよ。 http://www.opengroup.org/onlinepubs/000095399/functions/sched_yield.html http://mevius.5ch.net/test/read.cgi/unix/1166620307/148
149: 名無しさん@お腹いっぱい。 [sage] 2009/12/07(月) 01:53:37 スレッドの一覧ってどうやれば取得できるの? http://mevius.5ch.net/test/read.cgi/unix/1166620307/149
150: 名無しさん@お腹いっぱい。 [sage] 2009/12/08(火) 15:14:40 >>149 FILE* p = popen("ps aux", "r"); while(fgets(buf,sizeof(buf),p)){ ... } http://mevius.5ch.net/test/read.cgi/unix/1166620307/150
151: 名無しさん@お腹いっぱい。 [sage] 2009/12/08(火) 20:09:24 >>150 それプロセスの一覧じゃね? だいじょうぶ? http://mevius.5ch.net/test/read.cgi/unix/1166620307/151
152: 名無しさん@お腹いっぱい。 [sega] 2009/12/12(土) 02:28:19 スレッド内からforkしたらセマフォとかって受け継がれんの? http://mevius.5ch.net/test/read.cgi/unix/1166620307/152
153: 名無しさん@お腹いっぱい。 [sage] 2009/12/12(土) 12:57:32 >>149 大抵のpsにはスレッド(LWP)も表示するオプションがある。 >>152 引き継がれるから問題が起きやすい。 ttp://d.hatena.ne.jp/yupo5656/20040715/p1 http://mevius.5ch.net/test/read.cgi/unix/1166620307/153
154: 名無しさん@お腹いっぱい。 [sage] 2009/12/12(土) 13:24:05 ttp://www.opengroup.org/onlinepubs/009695399/functions/fork.html * forkして作ったプロセスはsingle threadだよ。 * マルチスレッドプロセスからforkすると、fork呼んだスレッドひとつとmutexの状態とかも含めてプロセス空間が複製されるよ forkallというスレッド丸ごとforkするのは却下されたってあるね。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/154
155: 名無しさん@お腹いっぱい。 [sage] 2009/12/12(土) 15:51:24 >>153 なるほど、forkしてすぐexecなら問題ないけどそれ以外なら死ぬのんか system関数がNGなのはここでひっかかるんかな http://mevius.5ch.net/test/read.cgi/unix/1166620307/155
156: 名無しさん@お腹いっぱい。 [sage] 2009/12/19(土) 16:08:13 pthread_createで作られたスレッドをptraceで追いかけたいんだけど どうしたらいい? http://mevius.5ch.net/test/read.cgi/unix/1166620307/156
157: 名無しさん@お腹いっぱい。 [sage] 2009/12/20(日) 12:42:35 >>156 ptrace の p は process の p。 SEGV って嫌われてるのな。 昔 mmap(2) した後に mprotect(2) して SEGV 捕捉しながらキャッシュを昇格させる ような DB 作ったなぁ。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/157
158: 名無しさん@お腹いっぱい。 [sage] 2009/12/20(日) 18:54:37 いやいや、pthreadで出来たスレッドってプロセスみたいなもんじゃん。 straceで追うときは、-fか-Fをつければ追えるし。 やっぱstraceを気合い入れて読むしかないのかなぁ・・・嫌だなぁ・・・ http://mevius.5ch.net/test/read.cgi/unix/1166620307/158
159: 名無しさん@お腹いっぱい。 [sage] 2009/12/20(日) 19:33:17 プロセスみたいじゃないよ? Linuxは、なんかごっちゃにしてるとこあるけど http://mevius.5ch.net/test/read.cgi/unix/1166620307/159
160: 名無しさん@お腹いっぱい。 [sage] 2009/12/20(日) 20:33:10 Solaris も軽量プロセスって言うね http://mevius.5ch.net/test/read.cgi/unix/1166620307/160
161: 名無しさん@お腹いっぱい。 [sage] 2009/12/21(月) 01:47:45 NetBSDでも light-weight process だな。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/161
162: 名無しさん@お腹いっぱい。 [sage] 2009/12/21(月) 20:29:34 Linux、psで表示しないだけで内部的には完全にプロセスだよね。 メモリがちょいっと共有されてるだけで http://mevius.5ch.net/test/read.cgi/unix/1166620307/162
163: 名無しさん@お腹いっぱい。 [sage] 2009/12/22(火) 00:03:45 Linuxのスレッドって、昔は psで普通に複数プロセスに見えてたし、 今でも中身は基本的にそれと変わってないね まあ、誰も困ってないようだから、そういう実装もアリなんだろうけど http://mevius.5ch.net/test/read.cgi/unix/1166620307/163
164: 名無しさん@お腹いっぱい。 [sage] 2009/12/22(火) 02:36:56 ちょっと前の仕事でスレッドプール実装した時のテスト ケースで、FreeBSD だと数千位作れたのに Linux だと 数百でアウトだったのは多分その辺の何かが影響してる と思う。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/164
165: 名無しさん@お腹いっぱい。 [sage] 2009/12/22(火) 02:40:11 >>164 そりゃシステムで上限決めてっからだよ ulimitコマンドとかでGENKAI TOPPAしる http://mevius.5ch.net/test/read.cgi/unix/1166620307/165
166: 名無しさん@お腹いっぱい。 [sage] 2009/12/22(火) 06:03:03 >>165 だからその辺の上限の根拠が、って話だよ。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/166
167: 名無しさん@お腹いっぱい。 [sage] 2009/12/22(火) 07:45:20 >>164-166 絶対違う。 賭けてもいいぜ。 >>164は32bit環境で、かつ、各スレッドのスタックサイズをデフォルトのままで試してるから。 >>164のような制限として、確かに他の理由もあるが そんなに少なく制限され、しかもあからさまな差がつく理由なんて一つしかない。 (デフォルトで)スタック10Mの32bitOSで各プロセス最大何スレッド程度作れるか 同じく1MのOSでは各プロセスで計いくつか ちょっとだけ考えてみな。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/167
168: 名無しさん@お腹いっぱい。 [sage] 2009/12/22(火) 08:05:11 じゃあ Linux のスレッドサイズの由来は何なのさ。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/168
169: 名無しさん@お腹いっぱい。 [sage] 2009/12/22(火) 09:24:51 >>168 1プロセスあたりのスタックサイズを継承すっから そのデフォルトが由来じゃね? http://mevius.5ch.net/test/read.cgi/unix/1166620307/169
170: 名無しさん@お腹いっぱい。 [sage] 2009/12/22(火) 09:52:26 linuxのスレッド数の上限が「linuxではスレッド ≡ プロセス」である事に 起因しているという主張は、プロセス数の上限も数百であるという事と同値。 ところがそんな(数百)プロセス数制限はない。 よって、>>164の主張は間違っている。証明完了。 実験だけで終わらせ、真の原因を突き止めようとしないのはB級エンジニア。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/170
171: 名無しさん@お腹いっぱい。 [sage] 2009/12/22(火) 10:34:19 >B級エンジニア。 ただのてーへんだろ? http://mevius.5ch.net/test/read.cgi/unix/1166620307/171
172: 名無しさん@お腹いっぱい。 [sage] 2009/12/22(火) 13:13:46 >>162 > Linux、psで表示しないだけで内部的には完全にプロセスだよね。 いつの時代の話だw >>164 7,8年前から性能も大逆転だが? http://mevius.5ch.net/test/read.cgi/unix/1166620307/172
173: 名無しさん@お腹いっぱい。 [sage] 2009/12/22(火) 13:15:13 閉鎖系ではよくあること。 そっとしておいてやれ。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/173
174: 名無しさん@お腹いっぱい。 [sage] 2009/12/22(火) 19:23:08 >>172 >いつの時代の話だw 違うの?だって隠しプロセスIDを指定してstraceで追うとか出来るよ? 概念的にはともかく実装上はプロセスの延長かと思ってた。 なんか実装上で「ほらここ見ろ」って場所教えてください。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/174
175: 名無しさん@お腹いっぱい。 [sage] 2009/12/22(火) 21:47:53 >>172 つ ttp://www.ibm.com/developerworks/jp/linux/library/l-linux-kernel/ プロセス管理は、プロセスの実行に集中的に取り組みます。カーネルではプロセスは スレッドと呼ばれ、プロセッサーの個々の仮想化 (スレッド・コード、データ、スタック、 および CPU レジスター) を表します。ユーザー空間ではプロセスという用語が一般的に 使用されていますが、Linux 実装ではこの 2 つの概念 (プロセスとスレッド) を 区別していません。カーネルは SCI を介して、新規プロセスの作成 (fork、exec、または POSIX (Portable Operating System Interface) 関数)、プロセスの停止 (kill、exit)、 そしてプロセス間の通信と同期 (信号、または POSIX メカニズム) を行うための アプリケーション・プログラム・インターフェース (API) を提供します。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/175
176: 名無しさん@お腹いっぱい。 [sage] 2009/12/23(水) 00:11:53 >>170 > ところがそんな(数百)プロセス数制限はない。 メモリ量に依存するけど? http://www.gelato.unsw.edu.au/lxr/source/kernel/fork.c > max_threads = mempages / (8 * THREAD_SIZE / PAGE_SIZE); http://mevius.5ch.net/test/read.cgi/unix/1166620307/176
177: B級エンジニア [sage] 2009/12/23(水) 00:27:34 >>176 ここで process と thread に区別はないのはいいよな? プロセス数とスレッド数の合計は max_threads を越え られない。また、pthread_attr_setstackaddr() でどう こうしようがこの制限からは逃れられないので >>167 も的外れ。 これを「プロセス≡スレッドに起因してる」っていうの は、そんなに言い過ぎかね? http://mevius.5ch.net/test/read.cgi/unix/1166620307/177
178: 名無しさん@お腹いっぱい。 [sage] 2009/12/23(水) 03:24:34 内部的には完全にプロセスっていうより、 プロセスとスレッドを統一的に扱っているって感じでしょ。 今は。昔は特殊なプロセスとして実装していたけど。 だからsignalの扱いが変だった。 FreeBSDはrforkとpthreadが別フレームワーク上の実装で もうちょっと整理できないのかと思う。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/178
179: 名無しさん@お腹いっぱい。 [sage] 2009/12/23(水) 10:05:31 組み込みとかでマルチタスキングモニタ書いてた俺から すると(当然こいつも区別無かったんだが)、Linux 実 装の方がお手軽実装(悪く言えば手抜き)に見える。 それに Linux 側も最近はスレッド≡プロセスの柵から 脱却しつつあるんじゃなかったっけ? http://mevius.5ch.net/test/read.cgi/unix/1166620307/179
180: 名無しさん@お腹いっぱい。 [sage] 2009/12/23(水) 11:33:40 シッタカ煽りの172が逃亡してしまった http://mevius.5ch.net/test/read.cgi/unix/1166620307/180
181: 名無しさん@お腹いっぱい。 [sage] 2009/12/23(水) 13:06:48 SunOSとかのLWP使ったスレッドはどうだったの? Solaris8までは、M:Nだったと言うことはスレッド≡プロセスではないよね。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/181
182: 名無しさん@お腹いっぱい。 [sage] 2009/12/23(水) 15:02:53 Linux だけ特殊だと思えばいいよ。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/182
183: 名無しさん@お腹いっぱい。 [sage] 2009/12/23(水) 15:15:35 >>179 脱却しようと思ったけどやっぱプロセス扱いの方が便利だから脱却やーめた って感じがする。気のせいかもしれないけど。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/183
184: 名無しさん@お腹いっぱい。 [sage] 2009/12/23(水) 15:19:22 ん、結局、今はスレッドに軽量性というメリットは 無かったりするの? http://mevius.5ch.net/test/read.cgi/unix/1166620307/184
185: 名無しさん@お腹いっぱい。 [sage] 2009/12/23(水) 16:11:43 あるよ。 カーネル内でプロセスと似た処理していることと、 軽量かどうかは全く関係ない。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/185
186: 名無しさん@お腹いっぱい。 [sage] 2009/12/23(水) 17:00:04 >>185 似たような処理をしているなら似たような重さになるんじゃないの? なんで速く処理できるの? http://mevius.5ch.net/test/read.cgi/unix/1166620307/186
187: 名無しさん@お腹いっぱい。 [sage] 2009/12/23(水) 17:26:12 ぶら下がるリソースが違うから。 rforkを勉強してみたら? http://mevius.5ch.net/test/read.cgi/unix/1166620307/187
188: 名無しさん@お腹いっぱい。 [sage] 2009/12/23(水) 17:39:09 >>187 ありがとう。Linuxではまだ関係ないってことだね。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/188
189: 名無しさん@お腹いっぱい。 [sage] 2009/12/23(水) 17:47:46 SMP 対応前後くらいで thread の扱いも大分違うんじゃ ないかと思うんだけどどうかね? > 識者 それ以前はユーザプロセス空間内で閉じたスレッド機構 もそれなりにあったと思うんだけど、流石に SMP とな るとスケジューラの管理下に入れないわけにはいかない だろうし。 そう考えると Linux とそれ以外では同じ形態を目指し ていてもアプローチの仕方が正反対なんじゃないか? >>183 的なのもそこに理由がある気がする。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/189
190: 名無しさん@お腹いっぱい。 [sage] 2009/12/23(水) 17:56:14 >>189 > そう考えると Linux とそれ以外では同じ形態を目指し > ていてもアプローチの仕方が正反対なんじゃないか? なにも変らないよ。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/190
191: 名無しさん@お腹いっぱい。 [sage] 2009/12/23(水) 18:54:39 >>189 C10K問題 ttp://www.hyuki.com/yukiwiki/wiki.cgi?TheC10kProblem が提唱された あたりから、複雑怪奇な割に性能が上がらないM:Nモデルから、単純明快な1:1モデル へと向かうOSが増えたのは確か。 あと、プロセスとスレッドとを同じように扱うか否かはNUMAみたいなアーキテクチャを どう考えるのかにもよりそう。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/191
192: 名無しさん@お腹いっぱい。 [sage] 2009/12/23(水) 19:34:54 >>191 面白いね。 FreeBSD はその後に SMPng の作業を完了しているから 現状を見てみたいけど、それぞれの OS が同期を取って 開発されているわけじゃないからどのタイミングで評価 するかってのは難しい問題だな。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/192
193: 名無しさん@お腹いっぱい。 [sage] 2009/12/23(水) 20:01:30 >>191 WebサーバがPC UNIX系の主戦場になったからね。 I/Oセントリックだとカーネルスケジューラが有利。 システムコールの中でスケジュールしたいから。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/193
194: 名無しさん@お腹いっぱい。 [sage] 2010/01/05(火) 22:01:20 めちゃくちゃ古い実装ベースの情報ではあるけど、 www.acme.com/software/thttpd/benchmarks.html の一番下にある表は、結構面白いとこ突いてるいるように見える。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/194
195: 名無しさん@お腹いっぱい。 [sage] 2010/01/05(火) 22:26:35 >>194 ほほう・・・ http://mevius.5ch.net/test/read.cgi/unix/1166620307/195
196: 名無しさん@お腹いっぱい。 [sage] 2011/01/19(水) 02:40:41 プラズマクラスター効果なしww http://twitter.com/saramura6/statuses/6688087715352576 http://mevius.5ch.net/test/read.cgi/unix/1166620307/196
197: 名無しさん@お腹いっぱい。 [sage] 2011/01/20(木) 19:08:51 node.jsとか、非同期通信寄りが増えてきたな。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/197
198: 名無しさん@お腹いっぱい。 [sage] 2011/04/07(木) 03:13:05.15 pthread_createで300前後しかスレッドを吐き出せないのだが・・・。 もちろん、pthread_detachを使ってデタッチしてるんだけど、全く増える気配なし。 Linuxの設定を見てみると、システム全体のスレッド上限が9万、ユーザーが4万5千 お手上げ状態です。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/198
199: 名無しさん@お腹いっぱい。 [sage] 2011/04/07(木) 04:00:50.39 アドレス空間が足りないだけ http://mevius.5ch.net/test/read.cgi/unix/1166620307/199
200: 198 [sage] 2011/04/07(木) 04:07:26.75 Stackのサイズを変更したら、すんなり3万2千くらいまで行けました。 どうも、お騒がせしました。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/200
201: 名無しさん@お腹いっぱい。 [sage] 2011/04/22(金) 21:31:00.83 pthread_mutexで複数のスレッドが待ち状態のとき、起床するのは優先度順ですか? 先に待ち状態になった順から起床させれないですか? セマフォなら待ち順になるのかな http://mevius.5ch.net/test/read.cgi/unix/1166620307/201
202: 名無しさん@お腹いっぱい。 [sage] 2011/04/26(火) 00:16:55.83 >>201 待ち順にはならぬ・・・ ならぬのだ・・・ http://mevius.5ch.net/test/read.cgi/unix/1166620307/202
203: 名無しさん@お腹いっぱい。 [sage] 2011/04/26(火) 11:49:13.33 カーネルさん「順番は俺の都合のいいようにやるから、 順序を規定したければ自分で管理しろよ。 その代わり、マルチCPUになろうがなんだろうが 俺のやることは今と変わらんから安心しろ」 http://mevius.5ch.net/test/read.cgi/unix/1166620307/203
204: 名無しさん@お腹いっぱい。 [sage] 2011/04/27(水) 02:10:10.39 カーネル△ http://mevius.5ch.net/test/read.cgi/unix/1166620307/204
205: 名無しさん@お腹いっぱい。 [] 2011/08/31(水) 08:26:04.18 スレッドの同時実行数って決められない? 同時実行数1にして似非RTOSみたいにしたいんだけど ちなみに各スレッドはsetschedpolicyでSCHED_FIFOにしてるつもりでエラーは返ってきてない 管理者で実行しているし、sched_priorityは1〜5にしてsetschedparamしてます なにか手順が足りないでしょうか? 自分でセマフォとかで管理するしかないんでしょうか? http://mevius.5ch.net/test/read.cgi/unix/1166620307/205
206: 名無しさん@お腹いっぱい。 [sage] 2011/09/01(木) 08:57:44.31 うむ、cygwinではpthread_attr系がダミー実装しかされていない http://mevius.5ch.net/test/read.cgi/unix/1166620307/206
207: 名無しさん@お腹いっぱい。 [sage] 2011/09/01(木) 21:12:56.51 >>205 スレッド作ってコルーチン動かせばいい http://mevius.5ch.net/test/read.cgi/unix/1166620307/207
208: 名無しさん@お腹いっぱい。 [sage] 2011/09/09(金) 12:37:20.07 >コルーチン動かせばいい これって具体的には何をすることをいってるの? 何か簡単な方法があるの? http://mevius.5ch.net/test/read.cgi/unix/1166620307/208
209: 名無しさん@お腹いっぱい。 [sage] 2011/09/12(月) 22:42:44.40 スレッド作った時点でそれってコルーチンだよな 中断再開を管理するスレッドを別に用意しろということか? http://mevius.5ch.net/test/read.cgi/unix/1166620307/209
210: 名無しさん@お腹いっぱい。 [sage] 2011/09/13(火) 00:33:50.94 いえ、こういう文脈でコルーチンといえば、 ・エントリポイントが複数ある ・コードで指定した場所で実行停止が可能な サブルーチンのことです。 「指定した場所」でCPUを明け渡しながら動きます。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/210
211: 名無しさん@お腹いっぱい。 [sage] 2011/09/16(金) 18:30:28.02 エントリポイントが複数ある ってどういうこと? http://mevius.5ch.net/test/read.cgi/unix/1166620307/211
212: 名無しさん@お腹いっぱい。 [sage] 2011/09/17(土) 19:37:06.16 哲学者の食事問題を例に取ると、全体で一つのコルーチン。 最初にどの哲学者から食事を開始してもいい。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/212
213: 名無しさん@お腹いっぱい。 [sage] 2011/10/18(火) 04:37:25.13 自前でユーザレベルスレッドを作ればできるってことじゃないのかな? ready_queue/wait_queueそれからスレッドインスタンスの構造体、 あとはwait(sleep)/act(wakeup)関数を定義すればいい。 もしカーネルの内部構造について知識/技術がある人なら簡単と言えるかも。 大変かもしれんが、スレッド間の排他制御とか不要(最低限)になるから、 元の設計がしっかりしていれば、かえってデバックは楽だったりする。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/213
214: 名無しさん@お腹いっぱい。 [sage] 2011/12/17(土) 12:34:40.08 地獄ではないだろ…… http://mevius.5ch.net/test/read.cgi/unix/1166620307/214
215: 名無しさん@お腹いっぱい。 [sage] 2013/01/17(木) 05:50:17.84 今時pthreadでゴリゴリて、流行らないのかな? http://mevius.5ch.net/test/read.cgi/unix/1166620307/215
216: 名無しさん@お腹いっぱい。 [sage] 2013/02/11(月) 18:25:18.64 >>215 流行り廃りで避けられるジャンルじゃないだろこれ 代替に何使うつもりだったの? http://mevius.5ch.net/test/read.cgi/unix/1166620307/216
217: 名無しさん@お腹いっぱい。 [sage] 2013/02/12(火) 00:23:57.14 pthread直ではなく、上位のライブラリ越しにつかうとかじゃない? http://mevius.5ch.net/test/read.cgi/unix/1166620307/217
218: 名無しさん@お腹いっぱい。 [sage] 2013/02/12(火) 03:14:17.06 pthread獣を召喚するライブラリでオススメなんかある? http://mevius.5ch.net/test/read.cgi/unix/1166620307/218
219: 410 [sage] 2013/02/19(火) 20:34:50.11 >>218 C++11の<thread>とか、Boost::thread とか、OpenMP とか。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/219
220: 名無しさん@お腹いっぱい。 [sage] 2013/06/09(日) 15:26:03.82 先日、他部署を交えて開かれた社内技術交換会でのこと。 先輩は自分が開発担当したあるソフトのプログラミング中に思いついたという 文字列処理の高速化アルゴリズムについて得意気に解説し始めた。 話し始めてしばらくして、隣の部署の人が口をはさんだ。 「それ、有名な番兵のアルゴリズムですよね。ウチでも昔はよく番兵を使いました。 でも番兵はマルチスレッドで使えないという欠点があるので、 今では番兵のアルゴリズムを使うことは禁止してます。 これ使われると発見しにくいバグになって困るんですよねぇ… ところで今日のお話というのは、 番兵のアルゴリズムをマルチスレッドに対応させるような方法か何かですか?」 そのあと先輩の話は支離滅裂になり、何の技術交換会だったのか よく覚えていない… http://mevius.5ch.net/test/read.cgi/unix/1166620307/220
221: 名無しさん@お腹いっぱい。 [sage] 2013/12/06(金) 03:08:00.49 いまさらだけど"Pthreadsプログラミング"を買ってきた がんばって積読するぞ http://mevius.5ch.net/test/read.cgi/unix/1166620307/221
222: 名無しさん@お腹いっぱい。 [] 2013/12/06(金) 09:51:35.50 マルチメディアで番兵使っちゃ駄目なの? http://mevius.5ch.net/test/read.cgi/unix/1166620307/222
223: 名無しさん@お腹いっぱい。 [sage] 2013/12/07(土) 15:25:25.69 モーティミーディアー http://mevius.5ch.net/test/read.cgi/unix/1166620307/223
224: 名無しさん@お腹いっぱい。 [] 2013/12/08(日) 18:03:34.98 中略) いやいや、●流出事件でも分かった様に叩きスレが伸びるってのは理由が有る訳です。2ちゃんねる運営の金になる。 運営の工作員が自演で火を付けてるわけ、それに乗った一般人が情報出して、その情報溜め込んだ運営の工作員がその情報元にまた煽る。 2ちゃんねるの運営にはそう言う集客方法が有る訳です。 それ系のサイトじゃあ、良く語られてる『プロ固定(プロ名無し)』ですよ。 各板覗いて御覧なさい、必ずあるでしょ?個人対象にした叩きスレッドが、 内容は似たり寄ったりですよ、どのスレッドも。運営の工作員が掛け持ちでテコ入れしてますから(笑 一種の炎上ビジネスなんです。 一般利用者ってのはお手軽に誹謗中傷出来る対象があると、何も考えずに叩くんです。とりあえず多少の正当性みたいなものが有ればいい。 どんな小さな事で良いし、自分が何らかの係わりや知識が有れば尚の事。 日本最大の電子掲示板 2ちゃんねる が板によって専門的に分かれてるってのはそう言う意味でも凄く都合が良いわけです。 各専門分野の関係者が勝手に情報持ち寄って、叩く対象の情報提供者になってくれる・・・ 正にカモがネギ背負って毎日飛んで来ては個人の誹謗中傷スレッドに情報投下してスレッド伸ばしてくれてる訳です。 炎上とか本人降臨とかは運営にとってはご馳走。 巷で言われております『ネットイナゴ、無敵の人』は運営と二人三脚な所がありまして、 酷い煽り方のレスは自作自演の運営工作員だったりするんですけど、一般人のですね、例えば関係者や嫉み僻み私怨持ってる様な、 又は何だか良く分からない“正義感”に突き動かされてしまう様な程度の人も誹謗中傷スレッドの叩きの一連の流れを見るとですね。 2ちゃんねる の運営方法の一部になってるんですよ。 ネラーと運営と言うのはお互い共存共生関係に有ると、まぁ、そう言う話なわけです。 (後略 . http://mevius.5ch.net/test/read.cgi/unix/1166620307/224
225: 名無しさん@お腹いっぱい。 [sage] 2013/12/11(水) 22:58:32.94 番兵使うとマルチスレッドでバグるって、どういうロジックなんだろうか。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/225
226: 名無しさん@お腹いっぱい。 [] 2017/12/29(金) 07:43:45.56 誰でも簡単にパソコン1台で稼げる方法など 参考までに、 ⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。 グーグル検索⇒『宮本のゴウリエセレレ』 AUQ0EKC298 http://mevius.5ch.net/test/read.cgi/unix/1166620307/226
227: 名無しさん@お腹いっぱい。 [] 2018/05/22(火) 06:08:23.65 知り合いから教えてもらったパソコン一台でお金持ちになれるやり方 時間がある方はみてもいいかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 1HZYE http://mevius.5ch.net/test/read.cgi/unix/1166620307/227
228: 名無しさん@お腹いっぱい。 [sage] 2023/09/15(金) 19:16:18.64 めっちゃええ感じやん。 http://mevius.5ch.net/test/read.cgi/unix/1166620307/228
229: 名無しさん@お腹いっぱい。 [sage] 2023/11/20(月) 11:35:48.04 あなたと肩を並べて歩きたいの http://mevius.5ch.net/test/read.cgi/unix/1166620307/229
230: 名無しさん@お腹いっぱい。 [] 2024/03/27(水) 19:57:34.12 著名人が乗っていましたが http://mevius.5ch.net/test/read.cgi/unix/1166620307/230
231: 名無しさん@お腹いっぱい。 [] 2024/03/27(水) 20:32:45.41 もっと整理して弱い グーナー絶頂の順位に変動あり得る)よな」みたいな http://mevius.5ch.net/test/read.cgi/unix/1166620307/231
232: 名無しさん@お腹いっぱい。 [sage] 2024/03/27(水) 21:54:58.94 なんか思ったより下げない 相変わらずツボガーは話に広がりがなくて実在の居酒屋で喜んでるだけの人エナプ公式グッズのサンダル履いてる状態なの分まで歌う」 http://mevius.5ch.net/test/read.cgi/unix/1166620307/232
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.756s*