トップページ > プログラム > 2014年03月24日 > Eiiayiu7

書き込み順位&時間帯一覧

9 位/199 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000140000000000000005



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
くだすれDelphi(超初心者用)その55

書き込みレス一覧

くだすれDelphi(超初心者用)その55
755 :デフォルトの名無しさん[sage]:2014/03/24(月) 07:36:57.69 ID:Eiiayiu7
>>746
終了したスレッドが勝手に動き出すとかないですから問題無いですよ。
あなたスレッドの動作や意味を間違えたますよね完全に。
多分Delphiしかできない人なんでしょうけど他言語も触ってみると良いですよ。
くだすれDelphi(超初心者用)その55
756 :デフォルトの名無しさん[sage]:2014/03/24(月) 08:03:56.24 ID:Eiiayiu7
>>748
それで顧客が納得してくれれば苦労はしないのです。
あなたが親子という概念を既に導入していることからも分かる通り
親側でクローズボタンが押されても子が終了するまで待つという
ようなプログラムではダメ出しされるのが通常だからです。
そこで
Mythread.terminate;

Mythread.free;
が必要になるわけですが
FreeOnTerminate=trueだとMythreadが終了してたらアクセスバイオレーションになるから
工夫が必要だよさあどうするというのがメインの論点です。
くだすれDelphi(超初心者用)その55
758 :デフォルトの名無しさん[sage]:2014/03/24(月) 08:15:34.47 ID:Eiiayiu7
ひとつの解決方法は >>736さんの提示された
FreeOnTerminate=trueのまま工夫する方法です。
もうひとつは私が提示したFreeOnTerminate=falseにして
必要ならガベージコレクト機能を組み込むという方法です。
あとは具体的解決方法も示さずバカだのアホだ
のいうだけの人が約1名いるという状況です。
くだすれDelphi(超初心者用)その55
759 :デフォルトの名無しさん[sage]:2014/03/24(月) 08:22:55.85 ID:Eiiayiu7
>>757
スレッド間通信もひとつの手ですね。
ただそこまで必要ないことのほうが多いです。
DelphiのThreadクラスの優秀さはスレッド間通信を使用しなくても簡単に
マルチスレッドアプリができるというところにあると思います。

なお、758は756の続きでありあなたへのレスではありません。
くだすれDelphi(超初心者用)その55
760 :デフォルトの名無しさん[sage]:2014/03/24(月) 08:52:25.38 ID:Eiiayiu7
>>757を受けてここまでの状況をまとめ直しました。

Q 親子型スレッドを作るにはどうればいいの?

A1 >>736さんのようにFreeOnTerminate=trueでサブスレッド側からメイン側のフラグを操作する。
A2 >>757さんのようにFreeOnTerminate=trueで同期オブジェクトやスレッド間通信で処理する。
A3 FreeOnTerminate=falseにして、必要ならスレッドマネージャ(≒ガベージコレクト)機能を組み込む。
番外 具体的解決方法も示さずバカだのアホだのいうだけの人が約1名。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。