マルチスレッドクラス

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
組木紙織

マルチスレッドクラス

#1

投稿記事 by 組木紙織 » 16年前

以前この掲示板にお世話なり製作していたWin32用のマルチスレッド操作クラスのインターフェース
が大体できました。
そのことの報告です。

内部構造や例外安全性などはまだ十分に考えておらず、
デバッグもまだまともにしていないので実際に使えるものではないものです。

そのことを考慮した上で、何か意見、アドバイスが欲しいと思います。

一応環境は次のようになっています。
Windows Vista
VS2005:SE

Justy

Re:マルチスレッドクラス

#2

投稿記事 by Justy » 16年前

 前回のスレは・・・過去ログ27と42、46、49ですね。
 うわ、前回のにしても1年近く前ですね。

http://www.play21.jp/board/formz.cgi?ac ... &rln=13481
http://www.play21.jp/board/formz.cgi?ac ... &rln=14641
http://www.play21.jp/board/formz.cgi?ac ... &rln=15456


 ちょっとこのところ忙しくてきちんと見れていない&前回の内容をまだ思い出せていないので
すごい薄っぺらいことしか言えませんが、

・ 要 boostになっています?(threadH.hppで anyをインクルード)

・ Threadクラスの publicに run()があるのですが、これは public(ユーザーが明示的に呼べる)で
いいのでしょうか?

・ ThreadOpeがコピー可能になっています。

・ TK::ThreadBreak::CanBreak::Break(_threadBase* p_thread)
 TerminateThread()に渡しているハンドルは正当なものでしょうか?

・ CanBreak
 CanBreakは強制的に TerminateThread()でスレッドを終了させますが、
その際、void TK::Thread<ThreadRun>::run()の ローカル変数だった auto_ptrがリークしませんか?


・ 今更でちょっと申し訳ないのですがやっぱりこうやって改めてみると、
TK::BaseRunを継承するのはいいのですが、仮引数があるのはちょっと使いづらそうな
印象がありますね。

 いっそのこと、仮引数なしの BaseRunにするようにした方が使いやすいのかもしれません。

組木紙織

Re:マルチスレッドクラス

#3

投稿記事 by 組木紙織 » 16年前

今回は経過報告のつもりと、こんな感じのインターフェースにしたいと思うけど、使いやすそうですか?
という意味で立てたものだったので、薄っぺらくても大丈夫です。

これから内部を書き換えてきちんと出せるものができたらもう一度報告するつもりです。


>うわ、前回のにしても1年近く前ですね。
そういえばそうですね。
一年前からずっとこれだけをやっていたわけではなく、別言語やライブラリでのスレッドの扱い方を
調べてたり、まったく関係ないこともしていたので、実質はそんなにやっていなのですが。

閉鎖

“C言語何でも質問掲示板” へ戻る