X



ふらっと C#,C♯,C#(初心者用) Part159

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん (ワッチョイ 6fe5-uQHI)
垢版 |
2023/08/08(火) 09:21:19.30ID:aeM2XQJJ0
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を3行冒頭に書くこと(1行分は消えて表示されない為、もう1行は予備)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください。見かけたらNGしましょう。相手してしまったらあなたも荒らしです
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part158
https://mevius.5ch.net/test/read.cgi/tech/1679783460/
■関連スレ
C#, C♯, C#相談室 Part97
https://mevius.5ch.net/test/read.cgi/tech/1671585518/
■コードを貼る場合は↓を使いましょう。
https://ideone.com/
https://dotnetfiddle.net/
初心者はまずVisual Studioを使いましょう。なおVisual Studioの使い方などに関しては各バージョンで違うので専用スレでお願いします
http://www.visualstudio.com/downloads/
■情報源
https://learn.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://learn.microsoft.com/ja-jp/dotnet/csharp/language-reference/
https://learn.microsoft.com/en-us/dotnet/standard/class-libraries
https://referencesource.microsoft.com/
https://source.dot.net/
・Insider.NET > .NET TIPS - @IT
https://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html
・DOBON.NET .NET Tips
https://dobon.net/vb/dotnet/index.html
++C++; // 未確認飛行 C
https://ufcpp.net/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
0631デフォルトの名無しさん (ワッチョイ ff01-vmna)
垢版 |
2023/11/12(日) 12:50:38.93ID:kSd1xzHw0
決まった順番で同じファイルに書き込みたい状況やファイル書き込みより計算処理の方が遥かに時間がかかる状況なんていくらでもあるでしょ

処理速度向上のために並列化した計算結果を直列化するのはmap/reduceと同じで並列処理の基本パターンだと思うが
その際にメモリ効率や後続処理の都合でファイルに書き出しながらreduce相当の集約処理をするのもよくあるやり方
0632デフォルトの名無しさん (ブーイモ MM4f-vmna)
垢版 |
2023/11/12(日) 12:57:53.27ID:eSav3yyhM
ついでに言うと真の目的を自覚してそれを他人に誤解なく伝えられるように言語化できる人間ってのはそうそういない
自分の言いたいことを相手に伝えようとする努力はもう少ししろよとは思うが真の目的を言語化すること初心者に求めるのは酷
0633デフォルトの名無しさん (ワッチョイ 7f68-gzdM)
垢版 |
2023/11/12(日) 12:57:57.10ID:92tzwC/W0
>>598で(細かい所は端折られてるが)質問者の要望を満たしたほぼ完璧な回答が出てるのに何の議論をしてるんだろうか

>>620
マルチスレッド何だから、オープンしたファイルクラスオブジェクトを共有すれば良いだけ
各スレッドでファイルのオープンとクローズをやる必要は無い
0634デフォルトの名無しさん (ワッチョイ 7fbd-XI6K)
垢版 |
2023/11/12(日) 13:02:14.64ID:O1mU2H+U0
>>628
壊れないよ。
追記でなく他のスレッドが書き込むサイズを把握して書き込み開始位置(現在のファイルサイズよりも先)
をちゃんと指定すれば大丈夫。
FILE_SHARE_WRITE指定だから複数スレッド同時に書き込めるし、
なんなら複数プロセスでも書き込める。
0640デフォルトの名無しさん (ワッチョイ 7f79-l6lv)
垢版 |
2023/11/13(月) 00:49:40.70ID:AJp6/mRY0
ファイルはシーケンシャルで書くのが一番効率が良い
順番に並べる必要があるなら後でソートできるようにレコードをきちんと設計しておけば問題は起こらない
上でされてるいくつあるかも判らないスレッドごとに開始位置をシークして…なんて主張は馬鹿の発想
0643デフォルトの名無しさん (ワッチョイ 7ff5-1DlE)
垢版 |
2023/11/13(月) 07:55:21.10ID:flxB0Vsk0
確かにハードの進化がソフトを凌駕するからなぁ
windowsも出た頃は二世代後くらいのハードを想定して作ったとか後付で言ってたかな、遅くて使い物にならなかったよな最初の頃は(笑)
0651デフォルトの名無しさん (ワッチョイ 9f7c-gFzT)
垢版 |
2023/11/14(火) 19:07:18.84ID:xujXPfzz0
新しい.net来るぞ
0658デフォルトの名無しさん (ワッチョイ 9f7c-gFzT)
垢版 |
2023/11/15(水) 11:41:16.01ID:S5z+rJ9T0
>>652
英語分からんってヤバくね
IT業界で1番必要なスキルだと思うが?
0660デフォルトの名無しさん (ワッチョイ 7f74-n7Dx)
垢版 |
2023/11/15(水) 12:41:13.13ID:D0hDoGTF0
>>658
Don't worry.
My English skills are much better than yours.
0661デフォルトの名無しさん (ワッチョイ 9f49-Lcu7)
垢版 |
2023/11/15(水) 13:16:29.77ID:cCd4X74c0
Waimo eigo tyoto Dekiruyo !!
0663デフォルトの名無しさん (ワッチョイ 7f4b-4qIk)
垢版 |
2023/11/15(水) 13:39:33.53ID:GITsN6v60
Windowsで.net5以上でshift-jis使うのに
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
この1行いるのは知ってます

System.Text.Encoding.CodePagesを参照する必要があると書いてあるところと
いらないしいると書いてあるのは間違いだと書いてあるところがあったので
どちらが正しいのでしょうか?
0665デフォルトの名無しさん (ワッチョイ 7f74-n7Dx)
垢版 |
2023/11/15(水) 14:05:48.88ID:D0hDoGTF0
>>662
Kono Hage!!

If you have no hair at all, shut up and get out of here.
0667デフォルトの名無しさん (ワッチョイ 1f25-Lcu7)
垢版 |
2023/11/15(水) 14:17:23.51ID:amYyW+se0
>>665
この辺にしとこうぜベイビー。
C#ラブな同士トゥギャザーで仲良くしようぜ。
0669デフォルトの名無しさん (ワッチョイ 9fae-Lcu7)
垢版 |
2023/11/16(木) 16:07:12.51ID:IwsAzKF60
Windowsに限らず、AndroidやiOSやLinuxなどほとんどのOSで、
ファイル名に使って想定外の動作をしない記号って、アンダーバー「_」くらいでしょうか?
アンダーバーでも誤動作するOSってあります?
0674デフォルトの名無しさん (ワッチョイ 1f01-ElWn)
垢版 |
2023/11/16(木) 21:16:19.40ID:ybAKbR/C0
SwiftLint使ってると、大文字や小文字で始まるか、キャメル式かスネーク式かいちいち文句付けてうざいぞぉw
0677デフォルトの名無しさん (スプッッ Sd7f-Xzxn)
垢版 |
2023/11/17(金) 11:28:27.47ID:180/RciHd
_で始まるファイル名だとコンパイル出来ない言語は観た覚えがある
0681デフォルトの名無しさん (ワッチョイ 1f08-IE43)
垢版 |
2023/11/17(金) 18:14:02.34ID:TreZcExv0
ボーダーラインを探すなんて無駄なことしてないで、
自分が対象にするOSで使える文字だけ使っときなよ、と思いました

暇ならとことん網羅して論文でも書いていてくれ
0686デフォルトの名無しさん (ワッチョイ 9f57-ElWn)
垢版 |
2023/11/17(金) 21:40:25.75ID:PqMW4vo50
あったとして、どうするんだ?
0688デフォルトの名無しさん (ワッチョイ 9f01-M2ys)
垢版 |
2023/11/17(金) 22:17:29.52ID:7wOEc1lI0
>>686
倉庫番の人だよ
0689デフォルトの名無しさん (ワッチョイ 9f57-ElWn)
垢版 |
2023/11/17(金) 22:23:01.37ID:PqMW4vo50
Pythonがそう書けるってさ
0692デフォルトの名無しさん (ワッチョイ e960-jFON)
垢版 |
2023/11/18(土) 18:37:11.62ID:mbkKOvAd0
関数の返り値を比較するときに2回書けないから一旦値で受ける、
なんて必要がなくなるから無いよりはある方がいいな。
0696デフォルトの名無しさん (ワッチョイ 46e5-f5/H)
垢版 |
2023/11/24(金) 19:38:01.29ID:6FJDI0Q/0
task1〜3までをUIスレッドで開始して、それからは
task1→task2→task3→task1みたいに自分の処理が終われば
別taskに処理を移すみたいな感じのソースコードを作りたいです。
処理はすぐ終わる計算でいいです。どうしますか?
ちなみに処理が終わったことがわかる変数などを使うってのは無しにしたいです。
0700デフォルトの名無しさん (ワッチョイ 8291-PfDU)
垢版 |
2023/11/24(金) 20:59:34.65ID:y2ZJO/eV0
そもそも、タスクとスレッドの関係をどういうもんだと思ってるんだか・・・・
0702デフォルトの名無しさん (ワッチョイ 46e5-f5/H)
垢版 |
2023/11/24(金) 21:28:48.64ID:6FJDI0Q/0
>>698
ごめんなさい誤解ありました。

task1→処理1

task2→処理2

処理1と処理2とかは並列処理です

順繰りというのは難しいのではって感じです。
0703デフォルトの名無しさん (ワッチョイ 46e5-f5/H)
垢版 |
2023/11/24(金) 21:33:36.46ID:6FJDI0Q/0
task1→処理1

task2→処理2

task3→処理3

task1→処理1の2回目

処理1の2回目がミソです

処理1の2回目と処理1も並列になっててほしいんです

ちょっぴり無茶なプロセスですかね?
0705デフォルトの名無しさん (ワッチョイ 0279-KWGQ)
垢版 |
2023/11/24(金) 21:45:07.71ID:pe/5i+Cu0
コルーチンのことかな
一定の処理まで終わらせたら明示的な命令によって他のタスクに切り替えて行くやり方
C#的にはIEnumerator<T>型を返すやつね
コルーチン自体はスレッドに依存しないので必ずしも複数スレッドで非同期処理をやるというわけでもなく
同期的に書けば排他制御が不要になる
0707デフォルトの名無しさん (ワッチョイ 46e5-f5/H)
垢版 |
2023/11/24(金) 22:22:10.58ID:6FJDI0Q/0
>>704
特にやりたいことはないですよ
開始の時間printfしてみたら

処理1
処理2
処理3
処理1の2回目
処理2の2回目

ってなってればいいんですよ
0709デフォルトの名無しさん (ワッチョイ 46e5-f5/H)
垢版 |
2023/11/24(金) 22:34:42.42ID:6FJDI0Q/0
>>708
特に作りたいものがないんですが思いついたのは
並列処理だと時間短くならね?ですね
0712デフォルトの名無しさん (ワッチョイ 298e-cVwZ)
垢版 |
2023/11/24(金) 22:56:14.00ID:A049oz9t0
また後出しのあいつか
0714デフォルトの名無しさん (ワッチョイ 46e5-f5/H)
垢版 |
2023/11/24(金) 23:09:30.59ID:6FJDI0Q/0
task1〜3までをUIスレッドで開始して、それからは

ここ違いますね、UIスレッドで起動するのはtask1
task1を起動してからは上に書いたとおりです。

後だしではないんでそこは分かってほしい。
0716デフォルトの名無しさん (ワッチョイ a2c3-1Z4Z)
垢版 |
2023/11/24(金) 23:27:15.24ID:GWBHs7u/0
それだと処理が終わっでない
終わってから都賀のタスクなんだから

3人いる
長男が投げる、落ちるのを確認したら
次男が投げる、落ちるのを確認したら
三男がなげる、落ちたらサイクル終わり
また最初に戻る

じゃね?
0718デフォルトの名無しさん (ワッチョイ 46e5-f5/H)
垢版 |
2023/11/24(金) 23:42:55.25ID:6FJDI0Q/0
>>716
伝わってませんね
落ちるのを確認ではなく投げるのを確認ですかね
長男が次男に投げたからお前も投げろよって声掛けする感じです
0721デフォルトの名無しさん (ワッチョイ bfe5-1fOb)
垢版 |
2023/11/25(土) 00:01:28.56ID:5JaI+Sbl0
>>719
書いて貰えると嬉しいです
Task1をもう一回呼ぶなんてできます?
1回目はUIスレッドから
2回目はTask3スレッドからです
0722デフォルトの名無しさん (ワッチョイ dfbd-1fOb)
垢版 |
2023/11/25(土) 00:03:58.41ID:6TmsaT3E0
>>719 の言う通り、順次Task.Run()すればキューに積まれて順に取り出されて
スレッドプールで実行されるんじゃね。
但し、>>707 で積んだ順番でprintfされることを期待しているようだが、
各Taskが並列実行されるので、Task開始順とprintfの順番が一致する保証はない。
0724デフォルトの名無しさん (ワッチョイ bfe5-1fOb)
垢版 |
2023/11/25(土) 00:19:31.02ID:5JaI+Sbl0
Taskの理解間違ってました
Taskってのは関数みたく何度も呼べるもんなんですね知らなかった
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況