pthread地獄 part 2
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2006/12/20(水) 22:11:47徳の高い人はpthread天国でも可。
■前スレ
pthread地獄
http://pc8.2ch.net/test/read.cgi/unix/1010933537/
0002名無しさん@お腹いっぱい。
2006/12/20(水) 22:22:580003名無しさん@お腹いっぱい。
2006/12/21(木) 18:16:540004名無しさん@お腹いっぱい。
2006/12/21(木) 18:21:110005名無しさん@お腹いっぱい。
2006/12/21(木) 19:21:200006名無しさん@お腹いっぱい。
2006/12/21(木) 21:37:070007名無しさん@お腹いっぱい。
2006/12/21(木) 23:19:520008名無しさん@お腹いっぱい。
2006/12/22(金) 21:08:240009名無しさん@お腹いっぱい。
2006/12/22(金) 21:12:470010名無しさん@お腹いっぱい。
2006/12/24(日) 11:14:520011名無しさん@お腹いっぱい。
2006/12/24(日) 13:50:16(σσ ヘイ! Let's プログラミング!
< <
001211
2006/12/24(日) 13:58:160013名無しさん@お腹いっぱい。
2006/12/24(日) 15:36:300014名無しさん@お腹いっぱい。
2006/12/26(火) 18:58:530015名無しさん@お腹いっぱい。
2006/12/31(日) 02:22:070016名無しさん@お腹いっぱい。
2006/12/31(日) 15:07:00商用と非商用に分けて語ろうぜ
0017名無しさん@お腹いっぱい。
2007/01/23(火) 00:54:40って、Windows では使えないんだったけ…。
なんかそれも混乱してわかんなくなってきた…。
0018名無しさん@お腹いっぱい。
2007/01/23(火) 10:18:44ttp://www.informit.com/articles/article.asp?p=686610&rl=1
0019名無しさん@お腹いっぱい。
2007/03/16(金) 23:19:10せっかくDual Core や Quad Coreが個人でも利用できる時代になったのにい。。。
0020名無しさん@お腹いっぱい。
2007/03/16(金) 23:45:410021名無しさん@お腹いっぱい。
2007/05/14(月) 00:15:07> Change the default thread library to libthr.
FreeBSDのデフォルトスレッドライブラリも1:1のものに変更されました。
0022名無しさん@お腹いっぱい。
2007/05/14(月) 07:21:14n:mはつかえないということなの?
0023名無しさん@お腹いっぱい。
2007/05/15(火) 00:00:56今までのM:Nスレッドライブラリはlibkseという名前で残っているから
シンボリックリンクを張り替えるなどすればいい。
libkseは少なくとも7.x系までは生き残るだろうけど、
8-currentあたりで消されそうな気もする。
0024名無しさん@お腹いっぱい。
2007/05/15(火) 10:04:120025名無しさん@お腹いっぱい。
2007/05/16(水) 07:27:30いいところなしというつもりでした。
複雑な制御の割に性能が出ないのでしょうか。
Solarisも1:1になったし。
0026名無しさん@お腹いっぱい。
2007/05/16(水) 07:42:380027名無しさん@お腹いっぱい。
2007/05/22(火) 08:02:390028名無しさん@お腹いっぱい。
2007/06/10(日) 00:00:13Apache (worker) + DB とかの。
0029名無しさん@お腹いっぱい。
2007/06/11(月) 15:38:16何せ無償だし。OpenMPもあるでよ。
0030名無しさん@お腹いっぱい。
2008/03/13(木) 00:37:42http://lists.freebsd.org/pipermail/cvs-src/2008-March/088489.html
0031名無しさん@お腹いっぱい。
2008/03/13(木) 10:41:170032名無しさん@お腹いっぱい。
2008/03/13(木) 16:53:540033名無しさん@お腹いっぱい。
2008/03/18(火) 11:07:370034名無しさん@お腹いっぱい。
2008/03/18(火) 22:18:18最近はjava.util.concurrentがあるからね。
0035名無しさん@お腹いっぱい。
2008/03/19(水) 18:46:401.5の時はメモリリークに悩まされました>concurrent周り
0036名無しさん@お腹いっぱい。
2008/06/06(金) 15:37:18デッドロックしないようにするにはどのように書けばよいのでしょうか?
0037名無しさん@お腹いっぱい。
2008/06/06(金) 15:46:120038名無しさん@お腹いっぱい。
2008/06/09(月) 15:07:17作成した子スレッドへの引数ってどうやって渡せば良いんでしょうか?
for (narg = 0; narg < 100; ++narg) {
nrc = pthread_create(&t1, NULL, tfunc, (void *)&narg);
}
こんな感じで渡そうとしたんですが、作成された子スレッド(tfunc)側で
引数を使おうとすると、親スレッド側でどんどん値がインクリメントされて
いってしまいます。(並列に動いてるんだから当然なんでしょうけど。)
0039名無しさん@お腹いっぱい。
2008/06/09(月) 15:34:40もしくはスレッド数分の配列に格納してその要素へのポインタを渡す。
というか、あなたはまだマルチスレッドプログラミングに手を出すのは早い。
そんなんではデバッグも満足にできないから、
基礎をしっかりやってからの方が近道。
004038
2008/06/09(月) 16:06:42レスTHX
>もしくはスレッド数分の配列に格納してその要素へのポインタを渡す。
やってみたら、ちゃんと渡りました。
この時に確保しておくスレッド数分の配列って、ヒープにとるもの?
それとも、親スレッド側のスタックにとるもの?
それとも、グローバル変数もしくはスタティック変数としてとるもの?
それとも、ケースバイケース?
子スレッド実行中にそのエリア(子スレッド用の引数エリア)が開放
されなければ良いと思うんだけど、親スレッド側のスタックにとった
場合ってどうなるんでしょうか?
親スレッドは子スレッドがすべて終了するまで存在するとした場合、
親スレッド側のスタックにとったエリアを子スレッドへの引数エリアと
して使用するのはOKでしょうか?
>基礎をしっかりやってからの方が近道。
今が基礎のつもりです。
■ このスレッドは過去ログ倉庫に格納されています