トップページ > プログラム > 2016年04月28日 > mT51gl12

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

6 位/148 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000002011010005



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
ふらっと C#,C♯,C#(初心者用) Part120 [無断転載禁止]©2ch.net

書き込みレス一覧

ふらっと C#,C♯,C#(初心者用) Part120 [無断転載禁止]©2ch.net
255 :デフォルトの名無しさん[sage]:2016/04/28(木) 15:37:42.93 ID:mT51gl12
すいません・・
Parallel.Forで並列をしてるんですが大量に出力を追加してると
固まってしまいましてこれってどうすれば固まらなくなるのでしょうか?
開始してすぐにアプリが動かなくなるようです。。
再現できるソースを添付しますのでよろしくお願いします。。


int 開始 1000000000;
int n=0;
var task = Task.Factory.StartNew(() =>
{
Parallel.For(開始,終了 , o, (L) =>
{
n++;
this.Invoke(new Action(() =>
{
追加.Text = n.ToString(
ふらっと C#,C♯,C#(初心者用) Part120 [無断転載禁止]©2ch.net
256 :デフォルトの名無しさん[sage]:2016/04/28(木) 15:40:35.01 ID:mT51gl12
>>255です。
すいません・・間違えました。
int 終了 1000000000;
int 開始 0;
int n=0;
var task = Task.Factory.StartNew(() =>
{
Parallel.For(開始,終了 , o, (L) =>
{
n++;
this.Invoke(new Action(() =>
{
追加.Text = n.ToString("");
}));
}));
}));
ふらっと C#,C♯,C#(初心者用) Part120 [無断転載禁止]©2ch.net
259 :デフォルトの名無しさん[sage]:2016/04/28(木) 17:54:42.68 ID:mT51gl12
>>257

レスありがとうございます。
最後にまとめると確かに問題ないのですが状況を知りたいということもあって
できればループ中にヒット数を知りたいということがあります;;
それ以外にもThread.Sleepを追加してやるとスレッドがUI側に渡るのか動くようになる
みたいなんですが速度が変わってしまいました;;

目的なんですが配列に固めた数値をParallelで回して
別のメソッドにその配列を渡してforループし条件に
ヒットしたらその配列の数値を出力
してヒット数追加ということをやってます。

候補数が少なければいいのですが多い場合に仰るとおり
ビジー状態になってしまうようで困り果ててました;;
ふらっと C#,C♯,C#(初心者用) Part120 [無断転載禁止]©2ch.net
263 :デフォルトの名無しさん[sage]:2016/04/28(木) 18:45:24.52 ID:mT51gl12
>>260
レスありがとうございます。
表示更新は別というはどういうことでしょうか?
スレッドを立ててそこに表示処理を任せるとかかな・・・
それとも最後にまとめた変数を一気に表示ということでしょうか?



>>261-262


レスありがとうございます。
RxのSampleは初めて聞きました!!
これって別に秒数を取得できるんですね。
少し勉強してみます。
ふらっと C#,C♯,C#(初心者用) Part120 [無断転載禁止]©2ch.net
264 :デフォルトの名無しさん[sage]:2016/04/28(木) 20:22:10.53 ID:mT51gl12
>>262さん

試してみました。固まらず圧倒的なパーフォマンスが出せるようになりまして
すごく満足しました。 ありがとうございました。


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