!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■関連スレ
C#, C♯, C#相談室 Part93
http://mevius.5ch.net/test/read.cgi/tech/1492818720/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part141
http://mevius.5ch.net/test/read.cgi/tech/1544839627/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/
■情報源
https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries
http://referencesource.microsoft.com/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
ふらっと C#,C♯,C#(初心者用) Part142
■ このスレッドは過去ログ倉庫に格納されています
1名無C ◆jPpg5.obl6 (ワッチョイ 762c-FuHz)
2019/03/07(木) 06:35:41.12ID:6L3KEJfe0673デフォルトの名無しさん (アウアウエー Sa3a-kXAv)
2019/05/04(土) 15:37:29.51ID:uz0VN5nda >>672
使い道がない
使い道がない
674デフォルトの名無しさん (ドコグロ MM7a-oppc)
2019/05/04(土) 15:38:02.55ID:vy21Hr2ZM 個人的にはスレッド自体に特定のスレッドからのデータを受け取る処理がある方が好き
675デフォルトの名無しさん (ドコグロ MM7a-jhVB)
2019/05/04(土) 15:57:05.65ID:qIB0qWQDM 別々のスレッドから生成された値を集めたいなら、
各スレッドで別のバッファ(List)に値を書き込んでから最後に単一スレッドでマージするのが定番
各スレッドで別のバッファ(List)に値を書き込んでから最後に単一スレッドでマージするのが定番
676デフォルトの名無しさん (ワッチョイ 9b61-oppc)
2019/05/04(土) 17:20:59.03ID:pMssk1qR0 スレッドセーフって実はどういう動作するのかよく知らないぜ
677デフォルトの名無しさん (ワッチョイ 06f2-ahOC)
2019/05/04(土) 17:27:01.27ID:0zm1CIpf0678デフォルトの名無しさん (ワッチョイ 9b61-oppc)
2019/05/04(土) 20:18:11.93ID:pMssk1qR0 APIのマニュアルにおいて「スレッドセーフ」という言葉が用いられる場合、たいていは「複数のスレッドからアクセスされても例外を出さない、プログラムがクラッシュしない」というような意味です。
しかしプログラムの目的によっては、例外が出ないだけでは不適切です。
例えば対象が、100個のデータを管理する変数だとします。
その100個のデータに対して、1つ目から順に処理するスレッドと、50個目から変更するスレッドが同時に動いたらどうなるでしょうか? 結果は不定です。
この例では、排他処理 (C#なら lock ステートメントなど) と呼ばれる処置が必要になります。
ってググって出たサイトで拾った
しかしプログラムの目的によっては、例外が出ないだけでは不適切です。
例えば対象が、100個のデータを管理する変数だとします。
その100個のデータに対して、1つ目から順に処理するスレッドと、50個目から変更するスレッドが同時に動いたらどうなるでしょうか? 結果は不定です。
この例では、排他処理 (C#なら lock ステートメントなど) と呼ばれる処置が必要になります。
ってググって出たサイトで拾った
679デフォルトの名無しさん (ワッチョイ 9b61-oppc)
2019/05/04(土) 20:25:20.65ID:pMssk1qR0 つまり
for(int i=0;i<lst.count;i++)
{
unk un=lst[i];
略
}
みたいなプログラムを組んだとき
どっかでいきなり要素をゼロにされて死ぬってことは
スレッドセーフだろうがどうだろうが可能性はあるってことだよね
ってことを考えるとスレッドセーフである意味ってあんまりなくて
排他処理は絶対実装しないと駄目だよね?ってこと?
誰か違うと言ってくれ
for(int i=0;i<lst.count;i++)
{
unk un=lst[i];
略
}
みたいなプログラムを組んだとき
どっかでいきなり要素をゼロにされて死ぬってことは
スレッドセーフだろうがどうだろうが可能性はあるってことだよね
ってことを考えるとスレッドセーフである意味ってあんまりなくて
排他処理は絶対実装しないと駄目だよね?ってこと?
誰か違うと言ってくれ
680デフォルトの名無しさん (ブーイモ MM93-R0y6)
2019/05/04(土) 20:59:32.71ID:Ui9BQ5TxM スレッドセーフはメソッド内などで一貫性を保てる作り
排他制御が必要な場面でやってないなど作り手のロジックミスには対応出来るわけがない
排他制御が必要な場面でやってないなど作り手のロジックミスには対応出来るわけがない
681デフォルトの名無しさん (ブーイモ MM93-R0y6)
2019/05/04(土) 21:06:21.08ID:Ui9BQ5TxM スレッドセーフである意味
あるオブジェクトがプロパティAを持っててメソッド内で
b=aaa(A)+bbb(A);
を計算しようとしても複数のスレッドからアクセスされることを考慮されていなければ
最初のAと次のAが違う場合があり計算結果が期待したものにならないかもしれない
スレッドセーフはこういう場合でもちゃんと計算される仕組みを持つ
あるオブジェクトがプロパティAを持っててメソッド内で
b=aaa(A)+bbb(A);
を計算しようとしても複数のスレッドからアクセスされることを考慮されていなければ
最初のAと次のAが違う場合があり計算結果が期待したものにならないかもしれない
スレッドセーフはこういう場合でもちゃんと計算される仕組みを持つ
682デフォルトの名無しさん (アウアウエー Sa3a-cevp)
2019/05/04(土) 21:07:23.59ID:3sktWiiHa >>679
その処理は要素数チェックと要素アクセスが分かれているから、間に他スレッドからの処理が割り込み得る
System.Collections.Concurrent系のコレクションは、
例えば「要素があるなら取得」のようなまとまった処理がatomicになっているので、他スレッドからの割り込まれない(=スレッドセーフ)
どっかのスレッドで詰めて、別のスレッドでループ処理、がやりたいのならBlockingCollectionが楽
その処理は要素数チェックと要素アクセスが分かれているから、間に他スレッドからの処理が割り込み得る
System.Collections.Concurrent系のコレクションは、
例えば「要素があるなら取得」のようなまとまった処理がatomicになっているので、他スレッドからの割り込まれない(=スレッドセーフ)
どっかのスレッドで詰めて、別のスレッドでループ処理、がやりたいのならBlockingCollectionが楽
683デフォルトの名無しさん (ドコグロ MM7a-jhVB)
2019/05/04(土) 21:27:48.58ID:qIB0qWQDM684デフォルトの名無しさん (ワッチョイ e22f-GsKc)
2019/05/04(土) 22:09:10.98ID:56LrGuhB0 非同期処理は複数のスレッドが同じデータを弄ろうとすることによる不整合は起きないけど
コールスタックは複数になるから
同じデータに触ると訳ワカメになる事があった
コールスタックは複数になるから
同じデータに触ると訳ワカメになる事があった
685デフォルトの名無しさん (ワッチョイ 9b61-oppc)
2019/05/04(土) 23:16:04.81ID:pMssk1qR0 (||゚Д゚)ヒィィィ!(゚Д゚||)
じゃあ>>679みてーな処理を書いたら
スレッドセーフなんて関係なく
バグるんだね
こぇえええええ
じゃなくて終わったわ
今まで組んだもんでテキトーにやった箇所全部終わってる気がする
じゃあ>>679みてーな処理を書いたら
スレッドセーフなんて関係なく
バグるんだね
こぇえええええ
じゃなくて終わったわ
今まで組んだもんでテキトーにやった箇所全部終わってる気がする
686デフォルトの名無しさん (アウアウエー Sa3a-UklA)
2019/05/04(土) 23:28:33.99ID:J15hVQV0a まあ複数スレッドで同時並行処理するときにはそのへん慎重を期さないと
再現困難なバグを埋め込んじゃうからねえ
同時に読み書きする可能性のある変数を安易に書き換え/差し替えしちゃダメ
再現困難なバグを埋め込んじゃうからねえ
同時に読み書きする可能性のある変数を安易に書き換え/差し替えしちゃダメ
687デフォルトの名無しさん (ワッチョイ e22c-4xtZ)
2019/05/05(日) 05:07:07.08ID:tvdtPjB+0 マルチスレッドの恐ろしさは、たまにしかバグらない事。
ほとんどは正常に動くから、質が悪い。
必ず、バグらないだろ
それで喧嘩になる事も多い。
マルチスレッドは、ベテランでもバグるからやめろと言っても、
ほら、バグらないでしょ? と、突っかかってくる
その時には、バグらないと言うと、
千回実行しても、バグらないでしょ? と、突っかかってくる。
でも、その時にはバグらない
バグる立証をするのが難しい
だから、Ruby をやった人は、関数型言語のElixir をやる。
他の言語の人は、何を言っても、そのテスト回数でバグらないと言ってくるから、質が悪い
1万回実行しても、10万回実行しても、その時にはバグらないものなんだよ。
何回バグらないで実行すれば、正しいと認めるのか、と問われても困る
ほとんどは正常に動くから、質が悪い。
必ず、バグらないだろ
それで喧嘩になる事も多い。
マルチスレッドは、ベテランでもバグるからやめろと言っても、
ほら、バグらないでしょ? と、突っかかってくる
その時には、バグらないと言うと、
千回実行しても、バグらないでしょ? と、突っかかってくる。
でも、その時にはバグらない
バグる立証をするのが難しい
だから、Ruby をやった人は、関数型言語のElixir をやる。
他の言語の人は、何を言っても、そのテスト回数でバグらないと言ってくるから、質が悪い
1万回実行しても、10万回実行しても、その時にはバグらないものなんだよ。
何回バグらないで実行すれば、正しいと認めるのか、と問われても困る
688デフォルトの名無しさん (ワッチョイ e201-R0y6)
2019/05/05(日) 06:10:17.07ID:BzgWdCy40 アクマノショウメイ
689デフォルトの名無しさん (ドコグロ MM02-jhVB)
2019/05/05(日) 08:46:40.02ID:TKrOuc6uM >>687
喧嘩になるのはマルチスレッドのバグのせいではなくお前の頭がバグってるから
喧嘩になるのはマルチスレッドのバグのせいではなくお前の頭がバグってるから
690デフォルトの名無しさん (ワッチョイ 0663-Cg3z)
2019/05/05(日) 08:57:36.80ID:Vqy33e5r0 エビデンスとれてりゃ突きつけるだけなのに
691デフォルトの名無しさん (ワッチョイ 8252-M0pk)
2019/05/05(日) 10:34:54.98ID:RPhfdkos0 >>687
マルチスレッドはバグるからやめろってなるのでなく、バグが無いように作れよ。
あと、お前の意見を相手が聞き入れず喧嘩になるのは、お前がいつもバカなことを言うから相手は当然受け入れる気にならず、お前にはその自覚がなくて「何でアイツは僕の言うことを理解してかれないんだウワアーーー」ってなってるからだぞ。
マルチスレッドはバグるからやめろってなるのでなく、バグが無いように作れよ。
あと、お前の意見を相手が聞き入れず喧嘩になるのは、お前がいつもバカなことを言うから相手は当然受け入れる気にならず、お前にはその自覚がなくて「何でアイツは僕の言うことを理解してかれないんだウワアーーー」ってなってるからだぞ。
692デフォルトの名無しさん (ワントンキン MM92-sito)
2019/05/05(日) 10:45:50.32ID:bYgaGqRgM >>687
なんでバグが起こってるのか原因特定出来てなくてワロタ
なんでバグが起こってるのか原因特定出来てなくてワロタ
693デフォルトの名無しさん (ワッチョイ 9b61-oppc)
2019/05/05(日) 10:48:34.16ID:uudMW5nw0 スレッドセーフは単発のメソッドが競合しないだけで
一連の処理についての動作保証をするものではないと
マルチスレッドはやらなくていいならそれに越したことはないけど
絶対に駄目というわけではなく
排他処理を組まないことが害悪
一連の処理についての動作保証をするものではないと
マルチスレッドはやらなくていいならそれに越したことはないけど
絶対に駄目というわけではなく
排他処理を組まないことが害悪
694デフォルトの名無しさん (アウアウエー Sa3a-kXAv)
2019/05/05(日) 11:21:06.67ID:IBoHsNppa 排他制御をしなくても安全に並列処理できるように設計することが大事
まずはロック、クリティカルセクション、ミューテックス、セマフォ、といった待ち時間を発生させるタイプの機能を使ったら負け、というルールで設計に挑戦してみるといい
大半の並列処理でそんなものは必要ないこと、それらを使わないほうが圧倒的に設計とプログラムが綺麗になることを体験するべき
まずはロック、クリティカルセクション、ミューテックス、セマフォ、といった待ち時間を発生させるタイプの機能を使ったら負け、というルールで設計に挑戦してみるといい
大半の並列処理でそんなものは必要ないこと、それらを使わないほうが圧倒的に設計とプログラムが綺麗になることを体験するべき
695デフォルトの名無しさん (ブーイモ MM93-R0y6)
2019/05/05(日) 11:29:03.77ID:Q2loWuJOM シネ
696デフォルトの名無しさん (アウアウクー MM9f-GsKc)
2019/05/05(日) 12:22:10.03ID:6g/cxz/+M ぱられるふぉーってのを使えば良いんじゃね?
知らんけど
知らんけど
697デフォルトの名無しさん (ワッチョイ 9b61-oppc)
2019/05/05(日) 12:32:51.31ID:uudMW5nw0698デフォルトの名無しさん (ワッチョイ 1242-ahOC)
2019/05/05(日) 13:01:26.26ID:EeTrV1LT0699デフォルトの名無しさん (ドコグロ MM02-oppc)
2019/05/05(日) 13:15:03.75ID:l159r3xkM >>698
それって記述が簡単ってだけでしょ?
ロック中にアクセスしたらどういう動作するの?
次回に回すの?
待機して待つの?
そういうのってスレッド毎にステータスを持たせて
マトリックスで管理しないと制御できてると俺は認めない
ジジイだから
それって記述が簡単ってだけでしょ?
ロック中にアクセスしたらどういう動作するの?
次回に回すの?
待機して待つの?
そういうのってスレッド毎にステータスを持たせて
マトリックスで管理しないと制御できてると俺は認めない
ジジイだから
700デフォルトの名無しさん (ワッチョイ f72d-/hjB)
2019/05/05(日) 13:34:55.82ID:1Pm7tIcB0 VisualBasic大先生を怒らせてしまったようだな
701デフォルトの名無しさん (アウアウエー Sa3a-kXAv)
2019/05/05(日) 13:41:27.68ID:IBoHsNppa >>698
だからさ
そんな不安定なロジックを書かなくても良いようにちゃんと設計するのが並列処理の王道なんだよ
lockブロックは最初の一回を書くときは楽かもしれんがだんだん難しくなるぞ
そのコレクションを使う全てのプログラマが並列性を意識して正確に排他制御をコーディングしなければならない
これは実用的なシステムの規模になるとかなり大きな負担になる
だからさ
そんな不安定なロジックを書かなくても良いようにちゃんと設計するのが並列処理の王道なんだよ
lockブロックは最初の一回を書くときは楽かもしれんがだんだん難しくなるぞ
そのコレクションを使う全てのプログラマが並列性を意識して正確に排他制御をコーディングしなければならない
これは実用的なシステムの規模になるとかなり大きな負担になる
702デフォルトの名無しさん (アウアウエー Sa3a-kXAv)
2019/05/05(日) 14:02:39.93ID:IBoHsNppa そもそもロックって論外なんだわ
世の中の並列処理の目的ってのはほぼ2種類に分類されるんだよ
@インフラストラクチャ処理中にCPUを待たせたくない
A消費コア数を増やして暇なCPUを働かせたい
よーするにCPUを無駄にしたくないわけ
でもロックしちゃうと問答無用でCPUが何もせずに止まっちゃう
ロックすると並列処理をする目的そのものに反してしまう
なのでロックは基本使わず最後の手段ってわけ
この辺りは(やや古い本だが)Microsoft Pressのプログラミング.NET Franework第4版やEffectiveシリーズでも解説されてることだね
どちらも良書なので脱初心者を目指しているだろう君達は是非とも読むべきだ
世の中の並列処理の目的ってのはほぼ2種類に分類されるんだよ
@インフラストラクチャ処理中にCPUを待たせたくない
A消費コア数を増やして暇なCPUを働かせたい
よーするにCPUを無駄にしたくないわけ
でもロックしちゃうと問答無用でCPUが何もせずに止まっちゃう
ロックすると並列処理をする目的そのものに反してしまう
なのでロックは基本使わず最後の手段ってわけ
この辺りは(やや古い本だが)Microsoft Pressのプログラミング.NET Franework第4版やEffectiveシリーズでも解説されてることだね
どちらも良書なので脱初心者を目指しているだろう君達は是非とも読むべきだ
703デフォルトの名無しさん (ドコグロ MM7a-jhVB)
2019/05/05(日) 14:08:00.64ID:kZz1htUnM その通り
極端な話、並列処理なんてそれぞれ別のサーバーで実行させりゃいいんだよ
それがレイテンシやコストなどの問題で無理なら代わりにプロセスを分ければいい
そもダメならリクエストやワーカー単位でスレッドを分け、といった具合に、共有するリソースを最小限にすることを優先する
極端な話、並列処理なんてそれぞれ別のサーバーで実行させりゃいいんだよ
それがレイテンシやコストなどの問題で無理なら代わりにプロセスを分ければいい
そもダメならリクエストやワーカー単位でスレッドを分け、といった具合に、共有するリソースを最小限にすることを優先する
704デフォルトの名無しさん (ブーイモ MM93-R0y6)
2019/05/05(日) 17:40:50.25ID:Q2loWuJOM ジジイだから能力低いだけだろ
705デフォルトの名無しさん (ワッチョイ f72d-/hjB)
2019/05/05(日) 18:00:00.04ID:1Pm7tIcB0 非同期処理全盛の時代にこれじゃ、世の中やばいコード(or非同期処理のつもりが同期処理されてるコード)だらけだろうな
Qiitaとか見ててもやばい奴だらけだ
Qiitaとか見ててもやばい奴だらけだ
706デフォルトの名無しさん (アウアウエー Sa3a-kXAv)
2019/05/05(日) 18:04:40.39ID:IBoHsNppa707デフォルトの名無しさん (ワッチョイ f72d-/hjB)
2019/05/05(日) 18:09:44.07ID:1Pm7tIcB0 そもそも、世のサンプルプログラムの多くが欠陥品なのが諸悪の根幹なのかもな
劣化コピーしちゃうQiita屋とかコピペプログラマが全部危険なコードを書いてしまう
劣化コピーしちゃうQiita屋とかコピペプログラマが全部危険なコードを書いてしまう
708デフォルトの名無しさん (ブーイモ MM93-R0y6)
2019/05/05(日) 18:19:48.84ID:Q2loWuJOM 一番パフォーマンスの良いMutexを使ってる人がどれだけいるやら
709デフォルトの名無しさん (アウアウエー Sa3a-kXAv)
2019/05/05(日) 18:23:53.97ID:IBoHsNppa710デフォルトの名無しさん (ブーイモ MM93-R0y6)
2019/05/05(日) 18:27:02.59ID:Q2loWuJOM 他人に迷惑をかける基地外はシネ
711デフォルトの名無しさん (ブーイモ MM93-R0y6)
2019/05/05(日) 18:33:04.85ID:Q2loWuJOM webサーバでスレッド一個で処理を完結するようにはなっていないだろ
712デフォルトの名無しさん (アウアウエー Sa3a-kXAv)
2019/05/05(日) 18:33:17.95ID:IBoHsNppa Mutexは相変わらずスレッドをブロックするうえにMonitorよりも消費リソースが大きい
その代わりプロセスを超えて待機処理を実装できるというものだ
よーするにlockよりもっと遅いんだよ
その代わりプロセスを超えて待機処理を実装できるというものだ
よーするにlockよりもっと遅いんだよ
713デフォルトの名無しさん (ブーイモ MM93-R0y6)
2019/05/05(日) 18:34:49.31ID:Q2loWuJOM714デフォルトの名無しさん (アウアウエー Sa3a-kXAv)
2019/05/05(日) 18:37:30.50ID:IBoHsNppa715デフォルトの名無しさん (ブーイモ MM93-R0y6)
2019/05/05(日) 18:38:33.24ID:Q2loWuJOM 5分で確認できることをできない老害
716デフォルトの名無しさん (ワッチョイ f72d-/hjB)
2019/05/05(日) 18:41:05.51ID:1Pm7tIcB0 Mutexはロックがいらないスレッド同士でもロックしちゃうのが使いづらいな
回避できるのかはしらんが
回避できるのかはしらんが
717デフォルトの名無しさん (ブーイモ MM93-R0y6)
2019/05/05(日) 18:41:10.65ID:Q2loWuJOM そもそもスレッドがとまると言ってるけどCPUのスレッドと.netのスレッド混同してそう
718デフォルトの名無しさん (ブーイモ MM93-R0y6)
2019/05/05(日) 18:41:50.97ID:Q2loWuJOM > でもロックしちゃうと問答無用でCPUが何もせずに止まっちゃう
これ笑う所?
これ笑う所?
719デフォルトの名無しさん (ブーイモ MM93-R0y6)
2019/05/05(日) 18:45:15.15ID:Q2loWuJOM ロックしちゃうと問答無用でCPUが何もせずに止まっちゃうわけないだろw
720デフォルトの名無しさん (ワッチョイ 9b61-oppc)
2019/05/05(日) 18:47:01.12ID:uudMW5nw0 え?lock中にアクセスしようとしたらどうなるの?
721デフォルトの名無しさん (ワッチョイ f72d-/hjB)
2019/05/05(日) 18:48:17.37ID:1Pm7tIcB0 ロックが取得できないだけ
722デフォルトの名無しさん (ブーイモ MM93-R0y6)
2019/05/05(日) 18:48:31.54ID:Q2loWuJOM お前のPCは8スレッドぐらい動かしたら止まるの?
723デフォルトの名無しさん (アウアウエー Sa3a-kXAv)
2019/05/05(日) 18:51:01.09ID:IBoHsNppa724デフォルトの名無しさん (ブーイモ MM93-R0y6)
2019/05/05(日) 18:51:41.98ID:Q2loWuJOM >>723
ググってきたのかよ低能さん
ググってきたのかよ低能さん
725デフォルトの名無しさん (ワッチョイ 9b61-oppc)
2019/05/05(日) 18:52:07.51ID:uudMW5nw0 >>721
そんときのコードってどう書くの?
そんときのコードってどう書くの?
726デフォルトの名無しさん (アウアウエー Sa3a-kXAv)
2019/05/05(日) 18:53:42.23ID:IBoHsNppa >>724
調子のんなよ重箱の隅つつきマン
調子のんなよ重箱の隅つつきマン
727デフォルトの名無しさん (ブーイモ MM93-R0y6)
2019/05/05(日) 18:55:47.24ID:Q2loWuJOM728デフォルトの名無しさん (アウアウエー Sa3a-kXAv)
2019/05/05(日) 19:00:35.89ID:IBoHsNppa729デフォルトの名無しさん (ブーイモ MM93-R0y6)
2019/05/05(日) 19:00:46.75ID:Q2loWuJOM どう見ても間違っている内容で煽られると人はどう思うのか
どう考えても仕組み上Mutexのほうが遅い
どう考えても仕組み上Mutexのほうが遅い
730デフォルトの名無しさん (ワッチョイ f72d-/hjB)
2019/05/05(日) 19:07:06.98ID:1Pm7tIcB0731デフォルトの名無しさん (ワッチョイ 9b61-oppc)
2019/05/05(日) 19:12:25.48ID:uudMW5nw0 >>730
だよね
ちょっと調べてるけど
普通の排他処理組んでおきたくて
lock
ReaderWriterLockSlim
UpgradeableReadLock
なんか普通の排他処理したいだけなのに
たくさん出てきちゃったぞ
これ全部使っても
ん?排他処理できてんのか?
って疑問が晴れない
この言語非同期処理の対応手薄なんだよねまだ
時期尚早として触らんことにしたw
だよね
ちょっと調べてるけど
普通の排他処理組んでおきたくて
lock
ReaderWriterLockSlim
UpgradeableReadLock
なんか普通の排他処理したいだけなのに
たくさん出てきちゃったぞ
これ全部使っても
ん?排他処理できてんのか?
って疑問が晴れない
この言語非同期処理の対応手薄なんだよねまだ
時期尚早として触らんことにしたw
732デフォルトの名無しさん (ワッチョイ f72d-/hjB)
2019/05/05(日) 19:21:47.99ID:1Pm7tIcB0 LockやMutexは初心者本の範囲内だからしらんのはまずいよ
733デフォルトの名無しさん (ブーイモ MM93-ajP6)
2019/05/05(日) 19:45:53.31ID:VmrJwxHQM 非同期のチートシートないの?
734デフォルトの名無しさん (ワッチョイ 4e42-ahOC)
2019/05/05(日) 19:57:32.38ID:LYwUBfu90 https://qiita.com/tadokoro/items/28b3623a5ec58517d431
測った人によると
nterlocked > lock > SemaphoreSlim > Semaphore > Mutexだってさ
測った人によると
nterlocked > lock > SemaphoreSlim > Semaphore > Mutexだってさ
735デフォルトの名無しさん (ワッチョイ cb02-Xm0a)
2019/05/06(月) 02:20:35.00ID:wkmj+bF20 並列処理なら.netなんだからF#でSTM使え。
何で関数型言語が注目されたんだよ。
並列処理に有利だからだろ。
何で関数型言語が注目されたんだよ。
並列処理に有利だからだろ。
736デフォルトの名無しさん (ワッチョイ e22c-4xtZ)
2019/05/06(月) 04:59:30.75ID:wr9bFPpT0 マルチスレッドなんか無理!
だから、Ruby の人は、Elixir を使う
作るのに何百年も掛かる、人類の成果、Erlang VM + Ruby = Elixir。
ErlangVMを、Rubyでラップしたもの
Elixirの小プロセスなら、10万プロセスも余裕!
パイプラインと同じ
関数型だから状態を持たない。
ただ、データを変換していく関数をつなげていくだけ!
だから、Ruby の人は、Elixir を使う
作るのに何百年も掛かる、人類の成果、Erlang VM + Ruby = Elixir。
ErlangVMを、Rubyでラップしたもの
Elixirの小プロセスなら、10万プロセスも余裕!
パイプラインと同じ
関数型だから状態を持たない。
ただ、データを変換していく関数をつなげていくだけ!
737デフォルトの名無しさん (ワッチョイ df01-jhVB)
2019/05/06(月) 07:40:48.06ID:WDjCowqB0 >>736
Rubyにマルチスレッドは、無理!
RubyはいわゆるGILといって、同時に複数のスレッドが走らないような排他制御がVMレベルでかかっている
これはVM自体がスレッドセーフでないクソ実装であることに起因する制約である
もちろんC#にはそんなものはないし、ベンチマークだとErlangより速い
Rubyにマルチスレッドは、無理!
RubyはいわゆるGILといって、同時に複数のスレッドが走らないような排他制御がVMレベルでかかっている
これはVM自体がスレッドセーフでないクソ実装であることに起因する制約である
もちろんC#にはそんなものはないし、ベンチマークだとErlangより速い
738デフォルトの名無しさん (ワッチョイ cb5f-51S+)
2019/05/06(月) 12:19:36.88ID:zGa1jTsu0 Windows8.1/10の令和対応アップデートでWinFormsの画面レイアウトが崩れるらしいね
739デフォルトの名無しさん (ワッチョイ 7b0c-ahOC)
2019/05/06(月) 12:48:42.80ID:w2Z6VwVJ0 お前んとこのWinformsいつもレイアウト崩れてんな
740デフォルトの名無しさん (スププ Sd02-JQY/)
2019/05/06(月) 12:59:34.99ID:rtkPFZMSd741デフォルトの名無しさん (ドコグロ MM2b-oppc)
2019/05/06(月) 13:02:49.51ID:4h7Vjk7HM742デフォルトの名無しさん (ワッチョイ 4f85-9El8)
2019/05/06(月) 21:06:24.34ID:Gi+4ls7q0 画面レイアウトがクソみたいに崩れたぞ死ねや
743デフォルトの名無しさん (ワッチョイ 4f85-ahOC)
2019/05/06(月) 21:19:39.33ID:Gi+4ls7q0 >>740
どうやってやるのそれ?
visual studio開いた時点ですでに崩れてて手動で戻すしかなさそうなんだが。
【警鐘】[改元][Windows][.NET] 「令和」対応パッチで画面が横に伸びる、文字が見切れる ― Windows Update 手動更新はちょっと待った方がいい
https://qiita.com/CodeOne/items/22004635d3c7cc533e5e
どうやってやるのそれ?
visual studio開いた時点ですでに崩れてて手動で戻すしかなさそうなんだが。
【警鐘】[改元][Windows][.NET] 「令和」対応パッチで画面が横に伸びる、文字が見切れる ― Windows Update 手動更新はちょっと待った方がいい
https://qiita.com/CodeOne/items/22004635d3c7cc533e5e
744デフォルトの名無しさん (ワッチョイ 067b-15o0)
2019/05/06(月) 21:32:21.57ID:lj/6a9HB0745デフォルトの名無しさん (ワッチョイ 4f85-ahOC)
2019/05/06(月) 21:39:51.78ID:Gi+4ls7q0746デフォルトの名無しさん (ワッチョイ 622f-0fpa)
2019/05/07(火) 00:11:46.09ID:HkLoI6gC0 >>740
令和を1文字で表すやつのために、フォントをいじったんだが、そのときに既存の文字の幅が変わったらしい
なのでまあ、令和対応のせいだと言えばそうなんじゃね
つか明日からどれだけ影響出てるか考えると鬱だわ
令和を1文字で表すやつのために、フォントをいじったんだが、そのときに既存の文字の幅が変わったらしい
なのでまあ、令和対応のせいだと言えばそうなんじゃね
つか明日からどれだけ影響出てるか考えると鬱だわ
747デフォルトの名無しさん (ワッチョイ 8247-JQY/)
2019/05/07(火) 01:24:56.82ID:A2KlUElc0 納期直前でGW返上してる最中にこの不具合対応しなきゃいけなくなってかなりイラッとした
748デフォルトの名無しさん (アウアウエー Sa3a-jhVB)
2019/05/07(火) 08:16:44.51ID:h85TWq9Qa https://devblogs.microsoft.com/dotnet/introducing-net-5/
.NET Framework 終了のお知らせ
Coreへ移行できないドカタは永遠に4.xに取り残されることが決定したようだ
.NET Framework 終了のお知らせ
Coreへ移行できないドカタは永遠に4.xに取り残されることが決定したようだ
749デフォルトの名無しさん (ワッチョイ 9b42-ahOC)
2019/05/07(火) 08:55:31.55ID:H2EGG+st0750デフォルトの名無しさん (スップ Sd22-JiSW)
2019/05/07(火) 08:58:10.52ID:Q8AOfbVkd Java interoperabilityって何なんだよ…
751デフォルトの名無しさん (ラクッペ MMaf-7dwh)
2019/05/07(火) 09:30:59.37ID:n4vre8LhM >>748
出来損ないは過去に葬った方が世の中のためだぁ
出来損ないは過去に葬った方が世の中のためだぁ
752デフォルトの名無しさん (ワッチョイ 23ae-siGz)
2019/05/07(火) 10:21:58.95ID:vw5zJnlq0 バージョンを頻繁に上げるのは、
成熟していないってことでは?
成熟していないってことでは?
753デフォルトの名無しさん (ワッチョイ 6210-R0y6)
2019/05/07(火) 11:33:46.06ID:4Mlb2ms50 FrameworkからCoreに移行できないのはどういう場合ですか?
754デフォルトの名無しさん (ワッチョイ 1763-ajP6)
2019/05/07(火) 11:59:10.66ID:25JpTCOf0 え、winformはどうなるの??
755デフォルトの名無しさん (アウアウエー Sa3a-kXAv)
2019/05/07(火) 12:06:04.60ID:b+Ix+FO0a 最近のmicrosoftかなり攻めてるな
756デフォルトの名無しさん (ワッチョイ 9b61-ahOC)
2019/05/07(火) 13:10:26.59ID:eYh/lhy30 .net frameworkからcoreなんてどこかちょろっといじったらいいだけじゃないの?
VB6からVB.netほどの変化はないんだろ?
VB6からVB.netほどの変化はないんだろ?
757デフォルトの名無しさん (ドコグロ MM2b-jhVB)
2019/05/07(火) 13:37:50.62ID:9iRY6hHtM758デフォルトの名無しさん (ワッチョイ 1f12-7dwh)
2019/05/07(火) 13:46:35.16ID:9CwYXDcE0 別に移行しなくてもいいですけど保守には特別料金いただきまっせ
759デフォルトの名無しさん (スップ Sd22-JiSW)
2019/05/07(火) 13:47:55.21ID:Q8AOfbVkd >>756
Web FormsはほぼUI作り直し
Web FormsはほぼUI作り直し
760デフォルトの名無しさん (ドコグロ MM2b-jhVB)
2019/05/07(火) 13:50:03.67ID:9iRY6hHtM あと技術的な最大の障害はWebFormsだろう
WebFormsは.NET Coreではサポートされてないし、される気配もない
既存資産の移行もさることながら、.NETドカタはWebForms頼りで標準的なWeb開発のスキルを持たない奴も多い
彼らはWebアプリケーションの開発が不可能になり、路頭に迷うことになる
WebFormsは.NET Coreではサポートされてないし、される気配もない
既存資産の移行もさることながら、.NETドカタはWebForms頼りで標準的なWeb開発のスキルを持たない奴も多い
彼らはWebアプリケーションの開発が不可能になり、路頭に迷うことになる
761デフォルトの名無しさん (ワッチョイ f72d-/hjB)
2019/05/07(火) 17:00:19.52ID:1tK/VkfG0 すまんが、Stream型って前の方だけメモリを解放するとか器用なことは出来ないの?
762デフォルトの名無しさん (ドコグロ MM2b-jhVB)
2019/05/07(火) 19:17:09.01ID:9iRY6hHtM763デフォルトの名無しさん (ワッチョイ 9b61-oppc)
2019/05/07(火) 19:23:08.04ID:VnMa5nf90 Stream型ってなんか確保してんの?
764デフォルトの名無しさん (ラクッペ MMaf-7dwh)
2019/05/07(火) 19:29:05.20ID:n4vre8LhM Streamの実装によるだろ
765デフォルトの名無しさん (ワッチョイ cb5f-51S+)
2019/05/07(火) 21:03:30.48ID:FJj2rymy0766デフォルトの名無しさん (アウアウカー Sa47-V/oy)
2019/05/08(水) 21:27:25.44ID:4kxgmlsqa C#でwindowsPCのマイク音量設定を設けたアプリを作りたいんですが情報がいまいち出てきません
今現在どのような方法が推奨として使われているのでしょうか
今現在どのような方法が推奨として使われているのでしょうか
767デフォルトの名無しさん (ブーイモ MM02-R0y6)
2019/05/08(水) 21:33:29.28ID:UPhx/0uCM おとなしくNAudioと言うのを使いなさい
768デフォルトの名無しさん (アウアウカー Saeb-8Yy7)
2019/05/09(木) 20:00:37.76ID:25KQckNoa769デフォルトの名無しさん (ワッチョイ bffc-ESYi)
2019/05/10(金) 07:09:33.41ID:8h0VP8xa0 RPgエディタみたいなタイルマップを配置する機能を作る場合、画像を配置するフォームは何が適切でしょうか?
前にも聞いた気がするんですが、レスを忘れてしまって、、、
前にも聞いた気がするんですが、レスを忘れてしまって、、、
770デフォルトの名無しさん (ドコグロ MMdf-wbL8)
2019/05/10(金) 07:45:25.60ID:guXEw79XM モデリングソフトに決まってんじゃん
2Dでもプラグインあるからプロならモデリングソフト
個人製作ならエクセルで代用しとけ
ってスレ違うやん
2Dでもプラグインあるからプロならモデリングソフト
個人製作ならエクセルで代用しとけ
ってスレ違うやん
771デフォルトの名無しさん (ドコグロ MMdf-wbL8)
2019/05/10(金) 07:46:35.31ID:guXEw79XM いや、すまん、質問内容取り違えてたw
ピクチャーボックスで
ピクチャーボックスで
772デフォルトの名無しさん (スププ Sdbf-rOSl)
2019/05/10(金) 08:14:45.00ID:uov0WiW1d >>769
Panelを継承したカスタムコントロールのOnPaint内で描画する事だな
Panelを継承したカスタムコントロールのOnPaint内で描画する事だな
■ このスレッドは過去ログ倉庫に格納されています
