pthread地獄 part 2 (232レス)
1-

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
1: 2006/12/20(水)22:11 AAS
Posixな糸に群がる亡者どものスレ。地獄の底でsage進行。
徳の高い人はpthread天国でも可。
■前スレ
 pthread地獄
 2chスレ:unix
152
(1): [sega] 2009/12/12(土)02:28 AAS
スレッド内からforkしたらセマフォとかって受け継がれんの?
153
(1): 2009/12/12(土)12:57 AAS
>>149
大抵のpsにはスレッド(LWP)も表示するオプションがある。

>>152
引き継がれるから問題が起きやすい。
外部リンク:d.hatena.ne.jp
154: 2009/12/12(土)13:24 AAS
外部リンク[html]:www.opengroup.org
* forkして作ったプロセスはsingle threadだよ。
* マルチスレッドプロセスからforkすると、fork呼んだスレッドひとつとmutexの状態とかも含めてプロセス空間が複製されるよ

forkallというスレッド丸ごとforkするのは却下されたってあるね。
155: 2009/12/12(土)15:51 AAS
>>153
なるほど、forkしてすぐexecなら問題ないけどそれ以外なら死ぬのんか
system関数がNGなのはここでひっかかるんかな
156
(1): 2009/12/19(土)16:08 AAS
pthread_createで作られたスレッドをptraceで追いかけたいんだけど
どうしたらいい?
157: 2009/12/20(日)12:42 AAS
>>156
ptrace の p は process の p。

SEGV って嫌われてるのな。
昔 mmap(2) した後に mprotect(2) して SEGV 捕捉しながらキャッシュを昇格させる
ような DB 作ったなぁ。
158: 2009/12/20(日)18:54 AAS
いやいや、pthreadで出来たスレッドってプロセスみたいなもんじゃん。
straceで追うときは、-fか-Fをつければ追えるし。

やっぱstraceを気合い入れて読むしかないのかなぁ・・・嫌だなぁ・・・
159: 2009/12/20(日)19:33 AAS
プロセスみたいじゃないよ?

Linuxは、なんかごっちゃにしてるとこあるけど
160: 2009/12/20(日)20:33 AAS
Solaris も軽量プロセスって言うね
161: 2009/12/21(月)01:47 AAS
NetBSDでも light-weight process だな。
162
(1): 2009/12/21(月)20:29 AAS
Linux、psで表示しないだけで内部的には完全にプロセスだよね。
メモリがちょいっと共有されてるだけで
163: 2009/12/22(火)00:03 AAS
Linuxのスレッドって、昔は psで普通に複数プロセスに見えてたし、
今でも中身は基本的にそれと変わってないね
まあ、誰も困ってないようだから、そういう実装もアリなんだろうけど
164
(4): 2009/12/22(火)02:36 AAS
ちょっと前の仕事でスレッドプール実装した時のテスト
ケースで、FreeBSD だと数千位作れたのに Linux だと
数百でアウトだったのは多分その辺の何かが影響してる
と思う。
165
(2): 2009/12/22(火)02:40 AAS
>>164
そりゃシステムで上限決めてっからだよ
ulimitコマンドとかでGENKAI TOPPAしる
166
(1): 2009/12/22(火)06:03 AAS
>>165
だからその辺の上限の根拠が、って話だよ。
167
(1): 2009/12/22(火)07:45 AAS
>>164-166
絶対違う。

賭けてもいいぜ。
>>164は32bit環境で、かつ、各スレッドのスタックサイズをデフォルトのままで試してるから。
>>164のような制限として、確かに他の理由もあるが
そんなに少なく制限され、しかもあからさまな差がつく理由なんて一つしかない。
(デフォルトで)スタック10Mの32bitOSで各プロセス最大何スレッド程度作れるか
省2
168
(1): 2009/12/22(火)08:05 AAS
じゃあ Linux のスレッドサイズの由来は何なのさ。
169: 2009/12/22(火)09:24 AAS
>>168
1プロセスあたりのスタックサイズを継承すっから
そのデフォルトが由来じゃね?
170
(1): 2009/12/22(火)09:52 AAS
linuxのスレッド数の上限が「linuxではスレッド ≡ プロセス」である事に
起因しているという主張は、プロセス数の上限も数百であるという事と同値。
ところがそんな(数百)プロセス数制限はない。
よって、>>164の主張は間違っている。証明完了。

実験だけで終わらせ、真の原因を突き止めようとしないのはB級エンジニア。
171: 2009/12/22(火)10:34 AAS
>B級エンジニア。
ただのてーへんだろ?
172
(2): 2009/12/22(火)13:13 AAS
>>162
> Linux、psで表示しないだけで内部的には完全にプロセスだよね。

いつの時代の話だw

>>164
7,8年前から性能も大逆転だが?
173: 2009/12/22(火)13:15 AAS
閉鎖系ではよくあること。
そっとしておいてやれ。
174: 2009/12/22(火)19:23 AAS
>>172
>いつの時代の話だw
違うの?だって隠しプロセスIDを指定してstraceで追うとか出来るよ?
概念的にはともかく実装上はプロセスの延長かと思ってた。
なんか実装上で「ほらここ見ろ」って場所教えてください。
175: 2009/12/22(火)21:47 AAS
>>172
外部リンク:www.ibm.com

プロセス管理は、プロセスの実行に集中的に取り組みます。カーネルではプロセスは
スレッドと呼ばれ、プロセッサーの個々の仮想化 (スレッド・コード、データ、スタック、
および CPU レジスター) を表します。ユーザー空間ではプロセスという用語が一般的に
使用されていますが、Linux 実装ではこの 2 つの概念 (プロセスとスレッド) を
区別していません。カーネルは SCI を介して、新規プロセスの作成 (fork、exec、または
省3
176
(1): 2009/12/23(水)00:11 AAS
>>170
> ところがそんな(数百)プロセス数制限はない。

メモリ量に依存するけど?

外部リンク[c]:www.gelato.unsw.edu.au
> max_threads = mempages / (8 * THREAD_SIZE / PAGE_SIZE);
177: B級エンジニア 2009/12/23(水)00:27 AAS
>>176
ここで process と thread に区別はないのはいいよな?

プロセス数とスレッド数の合計は max_threads を越え
られない。また、pthread_attr_setstackaddr() でどう
こうしようがこの制限からは逃れられないので >>167
も的外れ。

これを「プロセス≡スレッドに起因してる」っていうの
省1
178: 2009/12/23(水)03:24 AAS
内部的には完全にプロセスっていうより、
プロセスとスレッドを統一的に扱っているって感じでしょ。
今は。昔は特殊なプロセスとして実装していたけど。
だからsignalの扱いが変だった。

FreeBSDはrforkとpthreadが別フレームワーク上の実装で
もうちょっと整理できないのかと思う。
179
(1): 2009/12/23(水)10:05 AAS
組み込みとかでマルチタスキングモニタ書いてた俺から
すると(当然こいつも区別無かったんだが)、Linux 実
装の方がお手軽実装(悪く言えば手抜き)に見える。

それに Linux 側も最近はスレッド≡プロセスの柵から
脱却しつつあるんじゃなかったっけ?
180: 2009/12/23(水)11:33 AAS
シッタカ煽りの172が逃亡してしまった
181: 2009/12/23(水)13:06 AAS
SunOSとかのLWP使ったスレッドはどうだったの?
Solaris8までは、M:Nだったと言うことはスレッド≡プロセスではないよね。
182: 2009/12/23(水)15:02 AAS
Linux だけ特殊だと思えばいいよ。
183
(1): 2009/12/23(水)15:15 AAS
>>179
脱却しようと思ったけどやっぱプロセス扱いの方が便利だから脱却やーめた
って感じがする。気のせいかもしれないけど。
184: 2009/12/23(水)15:19 AAS
ん、結局、今はスレッドに軽量性というメリットは
無かったりするの?
185
(1): 2009/12/23(水)16:11 AAS
あるよ。
カーネル内でプロセスと似た処理していることと、
軽量かどうかは全く関係ない。
186: 2009/12/23(水)17:00 AAS
>>185
似たような処理をしているなら似たような重さになるんじゃないの?
なんで速く処理できるの?
187
(1): 2009/12/23(水)17:26 AAS
ぶら下がるリソースが違うから。
rforkを勉強してみたら?
188: 2009/12/23(水)17:39 AAS
>>187
ありがとう。Linuxではまだ関係ないってことだね。
189
(2): 2009/12/23(水)17:47 AAS
SMP 対応前後くらいで thread の扱いも大分違うんじゃ
ないかと思うんだけどどうかね? > 識者

それ以前はユーザプロセス空間内で閉じたスレッド機構
もそれなりにあったと思うんだけど、流石に SMP とな
るとスケジューラの管理下に入れないわけにはいかない
だろうし。

そう考えると Linux とそれ以外では同じ形態を目指し
省2
190: 2009/12/23(水)17:56 AAS
>>189
> そう考えると Linux とそれ以外では同じ形態を目指し
> ていてもアプローチの仕方が正反対なんじゃないか?

なにも変らないよ。
191
(2): 2009/12/23(水)18:54 AAS
>>189
C10K問題 外部リンク[cgi]:www.hyuki.com が提唱された
あたりから、複雑怪奇な割に性能が上がらないM:Nモデルから、単純明快な1:1モデル
へと向かうOSが増えたのは確か。

あと、プロセスとスレッドとを同じように扱うか否かはNUMAみたいなアーキテクチャを
どう考えるのかにもよりそう。
192: 2009/12/23(水)19:34 AAS
>>191
面白いね。

FreeBSD はその後に SMPng の作業を完了しているから
現状を見てみたいけど、それぞれの OS が同期を取って
開発されているわけじゃないからどのタイミングで評価
するかってのは難しい問題だな。
193: 2009/12/23(水)20:01 AAS
>>191
WebサーバがPC UNIX系の主戦場になったからね。
I/Oセントリックだとカーネルスケジューラが有利。
システムコールの中でスケジュールしたいから。
194
(1): 2010/01/05(火)22:01 AAS
めちゃくちゃ古い実装ベースの情報ではあるけど、
www.acme.com/software/thttpd/benchmarks.html
の一番下にある表は、結構面白いとこ突いてるいるように見える。
195: 2010/01/05(火)22:26 AAS
>>194
ほほう・・・
196: 2011/01/19(水)02:40 AAS
プラズマクラスター効果なしww
Twitterリンク:saramura6
197: 2011/01/20(木)19:08 AAS
node.jsとか、非同期通信寄りが増えてきたな。
198
(1): 2011/04/07(木)03:13 AAS
pthread_createで300前後しかスレッドを吐き出せないのだが・・・。
もちろん、pthread_detachを使ってデタッチしてるんだけど、全く増える気配なし。

Linuxの設定を見てみると、システム全体のスレッド上限が9万、ユーザーが4万5千
お手上げ状態です。
199: 2011/04/07(木)04:00 AAS
アドレス空間が足りないだけ
200: 198 2011/04/07(木)04:07 AAS
Stackのサイズを変更したら、すんなり3万2千くらいまで行けました。
どうも、お騒がせしました。
201
(1): 2011/04/22(金)21:31 AAS
pthread_mutexで複数のスレッドが待ち状態のとき、起床するのは優先度順ですか?
先に待ち状態になった順から起床させれないですか?
セマフォなら待ち順になるのかな
202: 2011/04/26(火)00:16 AAS
>>201
待ち順にはならぬ・・・ ならぬのだ・・・
203: 2011/04/26(火)11:49 AAS
カーネルさん「順番は俺の都合のいいようにやるから、
順序を規定したければ自分で管理しろよ。
その代わり、マルチCPUになろうがなんだろうが
俺のやることは今と変わらんから安心しろ」
204: 2011/04/27(水)02:10 AAS
カーネル△
205
(1): 2011/08/31(水)08:26 AAS
スレッドの同時実行数って決められない?
同時実行数1にして似非RTOSみたいにしたいんだけど
ちなみに各スレッドはsetschedpolicyでSCHED_FIFOにしてるつもりでエラーは返ってきてない
管理者で実行しているし、sched_priorityは1〜5にしてsetschedparamしてます

なにか手順が足りないでしょうか?
自分でセマフォとかで管理するしかないんでしょうか?
206: 2011/09/01(木)08:57 AAS
うむ、cygwinではpthread_attr系がダミー実装しかされていない
207: 2011/09/01(木)21:12 AAS
>>205
スレッド作ってコルーチン動かせばいい
208: 2011/09/09(金)12:37 AAS
>コルーチン動かせばいい
これって具体的には何をすることをいってるの?
何か簡単な方法があるの?
209: 2011/09/12(月)22:42 AAS
スレッド作った時点でそれってコルーチンだよな
中断再開を管理するスレッドを別に用意しろということか?
210: 2011/09/13(火)00:33 AAS
いえ、こういう文脈でコルーチンといえば、
・エントリポイントが複数ある
・コードで指定した場所で実行停止が可能な
サブルーチンのことです。
「指定した場所」でCPUを明け渡しながら動きます。
211: 2011/09/16(金)18:30 AAS
エントリポイントが複数ある ってどういうこと?
212: 2011/09/17(土)19:37 AAS
哲学者の食事問題を例に取ると、全体で一つのコルーチン。
最初にどの哲学者から食事を開始してもいい。
213: 2011/10/18(火)04:37 AAS
自前でユーザレベルスレッドを作ればできるってことじゃないのかな?

ready_queue/wait_queueそれからスレッドインスタンスの構造体、
あとはwait(sleep)/act(wakeup)関数を定義すればいい。
もしカーネルの内部構造について知識/技術がある人なら簡単と言えるかも。

大変かもしれんが、スレッド間の排他制御とか不要(最低限)になるから、
元の設計がしっかりしていれば、かえってデバックは楽だったりする。
214: 2011/12/17(土)12:34 AAS
地獄ではないだろ……
215
(1): 2013/01/17(木)05:50 AAS
今時pthreadでゴリゴリて、流行らないのかな?
216: 2013/02/11(月)18:25 AAS
>>215
流行り廃りで避けられるジャンルじゃないだろこれ
代替に何使うつもりだったの?
217: 2013/02/12(火)00:23 AAS
pthread直ではなく、上位のライブラリ越しにつかうとかじゃない?
218
(1): 2013/02/12(火)03:14 AAS
pthread獣を召喚するライブラリでオススメなんかある?
219: 410 2013/02/19(火)20:34 AAS
>>218 C++11の<thread>とか、Boost::thread とか、OpenMP とか。
220: 2013/06/09(日)15:26 AAS
先日、他部署を交えて開かれた社内技術交換会でのこと。
先輩は自分が開発担当したあるソフトのプログラミング中に思いついたという
文字列処理の高速化アルゴリズムについて得意気に解説し始めた。
話し始めてしばらくして、隣の部署の人が口をはさんだ。
「それ、有名な番兵のアルゴリズムですよね。ウチでも昔はよく番兵を使いました。
でも番兵はマルチスレッドで使えないという欠点があるので、
今では番兵のアルゴリズムを使うことは禁止してます。
省5
221: 2013/12/06(金)03:08 AAS
いまさらだけど"Pthreadsプログラミング"を買ってきた
がんばって積読するぞ
222: 2013/12/06(金)09:51 AAS
マルチメディアで番兵使っちゃ駄目なの?
223: 2013/12/07(土)15:25 AAS
モーティミーディアー
224: 2013/12/08(日)18:03 AAS
中略)
いやいや、●流出事件でも分かった様に叩きスレが伸びるってのは理由が有る訳です。2ちゃんねる運営の金になる。
運営の工作員が自演で火を付けてるわけ、それに乗った一般人が情報出して、その情報溜め込んだ運営の工作員がその情報元にまた煽る。

2ちゃんねるの運営にはそう言う集客方法が有る訳です。
それ系のサイトじゃあ、良く語られてる『プロ固定(プロ名無し)』ですよ。

各板覗いて御覧なさい、必ずあるでしょ?個人対象にした叩きスレッドが、
内容は似たり寄ったりですよ、どのスレッドも。運営の工作員が掛け持ちでテコ入れしてますから(笑
省14
225: 2013/12/11(水)22:58 AAS
番兵使うとマルチスレッドでバグるって、どういうロジックなんだろうか。
226: 2017/12/29(金)07:43 AAS
誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。

グーグル検索⇒『宮本のゴウリエセレレ』

AUQ0EKC298
227: 2018/05/22(火)06:08 AAS
知り合いから教えてもらったパソコン一台でお金持ちになれるやり方
時間がある方はみてもいいかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

1HZYE
228: 2023/09/15(金)19:16 AAS
めっちゃええ感じやん。
229: 2023/11/20(月)11:35 AAS
あなたと肩を並べて歩きたいの
230: 2024/03/27(水)19:57 AAS
著名人が乗っていましたが
231: 2024/03/27(水)20:32 AAS
もっと整理して弱い
グーナー絶頂の順位に変動あり得る)よな」みたいな
232: 2024/03/27(水)21:54 AAS
なんか思ったより下げない
相変わらずツボガーは話に広がりがなくて実在の居酒屋で喜んでるだけの人エナプ公式グッズのサンダル履いてる状態なの分まで歌う」
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.015s