Linuxプログラミングat LINUX
Linuxプログラミング - 暇つぶし2ch589:login:Penguin
08/02/05 18:12:27 MeDWiyY9
大量のスレッドを生成できなくて困っています。
現在、上限10000個のスレッドを生成したいのですが(そういう仕様なので…OTL)
スタックオーバーフローで生成できていません。

解決策としては、デフォルトでは大きすぎるスタックサイズを
pthred_attr_setstacksize() で減らし、また予めスレッド用スタック領域を
malloc()にて確保し、これをpthread_attr_setstackaddr() にて設定することを
考えました。実際やってみると確かにデフォルトよりは生成数は上がっているの
ですが、到底10000個には追いつきません。

そこで質問なのですが、上記のようなアプローチで合っているのでしょうか?
あと、pthread_attr_setstackaddr() の第2引数(つまり、スタック開始アドレス)は
10000個のスレッドで同一なのでしょうか?

10000回のpthread_create()ループの外で1回だけ
pthread_attr_setstack(&attr, g_pthread_stack) をこーるするのか、

ループの中で
pthread_attr_setstack(&attr, g_pthread_stack+STACK_SIZE*i)のように
スタックサイズ分オフセットを毎回させるのか

が分からないです。


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch