!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
ふらっと C#,C♯,C#(初心者用) Part159
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 6fe5-uQHI)
2023/08/08(火) 09:21:19.30ID:aeM2XQJJ0581デフォルトの名無しさん (ワッチョイ 7f94-gzdM)
2023/11/11(土) 11:53:52.65ID:wxiCP7Qj0 >>580
排他制御だと先着順にしかならないけど
スレッドがA,Bの順番で計算が終わってファイルに書こうとする保証はあるの
それが保証されるなら、ファイルの排他機能を使うより、lockを使うのがシンプルで良いと思う
排他制御だと先着順にしかならないけど
スレッドがA,Bの順番で計算が終わってファイルに書こうとする保証はあるの
それが保証されるなら、ファイルの排他機能を使うより、lockを使うのがシンプルで良いと思う
582デフォルトの名無しさん (ワッチョイ ffda-XI6K)
2023/11/11(土) 12:18:07.23ID:MfZ2/qTS0 >>581
Aが書き終わったことが見てわかる変数を作っておくことで対応します。
Aが書き終わったことが見てわかる変数を作っておくことで対応します。
583デフォルトの名無しさん (ワッチョイ ff01-vmna)
2023/11/11(土) 12:48:18.44ID:9HxScUhQ0 これはもう手に負えないわ
諸君の健闘を祈る
諸君の健闘を祈る
584デフォルトの名無しさん (ワッチョイ 7f79-l6lv)
2023/11/11(土) 12:56:28.59ID:JXC3KAMY0 そもそも同一ファイルを複数スレッドで読み書きするのは公立が良くない
私立にしなさい
私立にしなさい
585デフォルトの名無しさん (ワッチョイ ffda-XI6K)
2023/11/11(土) 13:07:33.16ID:MfZ2/qTS0 伝え方が悪くてどうもすいませんでした
冷静に考えたら変数使えば排他制御いらないじゃんって思えてきた
何を聴講してんだか
冷静に考えたら変数使えば排他制御いらないじゃんって思えてきた
何を聴講してんだか
586デフォルトの名無しさん (ワッチョイ ffcf-Zoup)
2023/11/11(土) 13:44:16.19ID:LlCaH/Ey0 排他制御順序制御をスレッドAB間で直接行えばいい話でファイルアクセスどうこうは関係ないってことだろう
587デフォルトの名無しさん (オイコラミネオ MM13-Zoup)
2023/11/11(土) 13:51:34.21ID:uCuKaL40M スレが伸びてると思ったら
複数スレッドで変数…
フラグが立った気もする
大学に聴講生いたな
おばちゃんだったけど新しいことを学ぼうとする姿勢が偉い
複数スレッドで変数…
フラグが立った気もする
大学に聴講生いたな
おばちゃんだったけど新しいことを学ぼうとする姿勢が偉い
588デフォルトの名無しさん (スップ Sd1f-Zoup)
2023/11/11(土) 14:02:50.08ID:rffcSM1cd スレッド起こした順に書込みも順にしたいの?
起こしたときに番号振ってファイルAにみな書込みするようにして
書き込む結果は振り番と結果書き込ませて
そのファイルAを監視して順番に書き出すスレッドなりで
目的のファイル作れば?
起こしたときに番号振ってファイルAにみな書込みするようにして
書き込む結果は振り番と結果書き込ませて
そのファイルAを監視して順番に書き出すスレッドなりで
目的のファイル作れば?
589デフォルトの名無しさん (ワッチョイ 7ff5-1DlE)
2023/11/11(土) 15:16:06.79ID:RSKqgUUO0 聴講って何かの誤変換かと思ってたけど
聴講生だったのか
道理で
聴講生だったのか
道理で
590デフォルトの名無しさん (ワッチョイ ffda-XI6K)
2023/11/11(土) 16:05:06.98ID:MfZ2/qTS0 >>588
順番はAが書き込んでBが書き込む
Bが早く終わろうがAが書き込みした後しか書き込み無理ってことです。
もうひとつの厄介ありました。
Aが書き込み終わったよっていうフラグを立てる時間
Aが書き込んだ時間
にタイムラグある場合どうしよう。
もちろんAが書き込みする関数呼んだあとにフラグ立てるんだけど
フラグ立てたときってほんとに書き込み終了してる?って話です。
順番はAが書き込んでBが書き込む
Bが早く終わろうがAが書き込みした後しか書き込み無理ってことです。
もうひとつの厄介ありました。
Aが書き込み終わったよっていうフラグを立てる時間
Aが書き込んだ時間
にタイムラグある場合どうしよう。
もちろんAが書き込みする関数呼んだあとにフラグ立てるんだけど
フラグ立てたときってほんとに書き込み終了してる?って話です。
591デフォルトの名無しさん (スプッッ Sd1f-4LBs)
2023/11/11(土) 16:24:57.12ID:CPZqzXvFd もういい、消えろ
592デフォルトの名無しさん (ワッチョイ ff7b-gzdM)
2023/11/11(土) 16:42:12.75ID:oxGqzPfa0 今後の質問者には先にChatGPTである程度やり取りしてもらって
それでもわかんなかった所だけ聞きに来てもらうほうが
お互い幸せになれる気がする
それでもわかんなかった所だけ聞きに来てもらうほうが
お互い幸せになれる気がする
593デフォルトの名無しさん (ワッチョイ ffbc-Zoup)
2023/11/11(土) 16:57:49.93ID:NvFe8ImE0 それ以前に、もう少し、こう、コミュニケーションというものを考えて、せめて一度くらいは推敲してから書き込んでもらえるとお互いに幸せかもね。
要件としてはこんなところなんだろうか。
・何らかの処理を行うためにスレッドを起動する。
・その処理(スレッド)は複数ある可能性がある。
・その処理の結果を一定の規則でファイルに出力する。
自分だったら、メインスレッド(処理用のスレッドを立ち上げる側)に処理スレッドの結果を返すようにして、処理スレッドがすべて終わった後にメインスレッドで規則に従ったファイル出力を行うように作るけど。
要件としてはこんなところなんだろうか。
・何らかの処理を行うためにスレッドを起動する。
・その処理(スレッド)は複数ある可能性がある。
・その処理の結果を一定の規則でファイルに出力する。
自分だったら、メインスレッド(処理用のスレッドを立ち上げる側)に処理スレッドの結果を返すようにして、処理スレッドがすべて終わった後にメインスレッドで規則に従ったファイル出力を行うように作るけど。
594デフォルトの名無しさん (ワッチョイ 7fbd-XI6K)
2023/11/11(土) 17:08:03.68ID:B6ZfAYMe0 Win32APIで非同期書き込み
・CreateFile() FILE_SHARE_WRITE FILE_FLAG_OVERLAPPED
・AのWriteFile() OVERLAPPED構造体のOffsetとOffsetHighに指定する書き込み開始位置に、
現在のファイルサイズを指定(後述するが0xFFFFFFFFでの追記は避けること)
・BのWriteFile() OVERLAPPED構造体のOffsetとOffsetHighにBで渡したファイルサイズ+Aで書き込むサイズ
WriteFile()は指定サイズ全てを1回で書き込めるとは限らないので、書き込んだサイズ分
OffsetとOffsetHighをずらしながら残りをWriteFile()する。
位置をずらして指定していくのとBの分を並列で書き込むので0xFFFFFFFFでの追記を行ってはならない。
書き込んだサイズは
・GetOverlappedResult()で調べる(呼ぶタイミングが分からない)
・WriteFileEx()でlpCompletionRoutineを指定する(完了ルーチンでWriteFileEx()を繰り返すとスタックが溢れる恐れあり)
・IOCP
・スレッドプールI/O
のいずれかを使う。
C#で同等のことを行う方法は知らん。
・CreateFile() FILE_SHARE_WRITE FILE_FLAG_OVERLAPPED
・AのWriteFile() OVERLAPPED構造体のOffsetとOffsetHighに指定する書き込み開始位置に、
現在のファイルサイズを指定(後述するが0xFFFFFFFFでの追記は避けること)
・BのWriteFile() OVERLAPPED構造体のOffsetとOffsetHighにBで渡したファイルサイズ+Aで書き込むサイズ
WriteFile()は指定サイズ全てを1回で書き込めるとは限らないので、書き込んだサイズ分
OffsetとOffsetHighをずらしながら残りをWriteFile()する。
位置をずらして指定していくのとBの分を並列で書き込むので0xFFFFFFFFでの追記を行ってはならない。
書き込んだサイズは
・GetOverlappedResult()で調べる(呼ぶタイミングが分からない)
・WriteFileEx()でlpCompletionRoutineを指定する(完了ルーチンでWriteFileEx()を繰り返すとスタックが溢れる恐れあり)
・IOCP
・スレッドプールI/O
のいずれかを使う。
C#で同等のことを行う方法は知らん。
595デフォルトの名無しさん (ワッチョイ 7fbd-XI6K)
2023/11/11(土) 17:09:02.17ID:B6ZfAYMe0 訂正:Bで渡したファイルサイズ→Aで渡したファイルサイズ
596デフォルトの名無しさん (ワッチョイ ff02-FvvN)
2023/11/11(土) 17:11:14.77ID:6Uwmj7p80 古典的な方法は
書き込む前に「書き込み中だよ」というファイルを作って
おもむろに書き込んで終わったらファイルを消去する
他のプロセスは「書き込み中だよ」ファイルがないことを
確認してから「書き込み中だよ」ファイルを作る
あるいはDBに任せるかな
書き込む前に「書き込み中だよ」というファイルを作って
おもむろに書き込んで終わったらファイルを消去する
他のプロセスは「書き込み中だよ」ファイルがないことを
確認してから「書き込み中だよ」ファイルを作る
あるいはDBに任せるかな
597デフォルトの名無しさん (ワッチョイ 7ff5-1DlE)
2023/11/11(土) 17:14:49.80ID:RSKqgUUO0 書き込む前に配列作るだけな気もするけど
まぁ書き込みたいならしゃーない
まぁ書き込みたいならしゃーない
598デフォルトの名無しさん (ワッチョイ ff01-bJ+2)
2023/11/11(土) 17:24:04.61ID:G8HZ7IiV0 >>590
static async Task Main(string[] args)
{
var taskA = Task.Run(()=> CalcA());
var taskB = Task.Run(()=> CalcB());
var resultA = await taskA;
await Save(resultA);
var resultB = await taskB;
await Save(resultB);
}
これを一般化してtaskをListに追加していって
Listを回して計算結果をawaitしながら直列で書き込めばいい
static async Task Main(string[] args)
{
var taskA = Task.Run(()=> CalcA());
var taskB = Task.Run(()=> CalcB());
var resultA = await taskA;
await Save(resultA);
var resultB = await taskB;
await Save(resultB);
}
これを一般化してtaskをListに追加していって
Listを回して計算結果をawaitしながら直列で書き込めばいい
599デフォルトの名無しさん (スップ Sd9f-Blpp)
2023/11/11(土) 18:15:19.76ID:GzLBx05/d 馬鹿は馬鹿だから設計も実装もできない
馬鹿の考え休むに似たりとはこのこと
こんな馬鹿はシングルスレッドにしとけよ
馬鹿の考え休むに似たりとはこのこと
こんな馬鹿はシングルスレッドにしとけよ
600デフォルトの名無しさん (ワッチョイ ff8b-XI6K)
2023/11/11(土) 18:17:22.37ID:MfZ2/qTS0601デフォルトの名無しさん (ワッチョイ ff02-FvvN)
2023/11/11(土) 18:29:22.82ID:6Uwmj7p80602デフォルトの名無しさん (ワッチョイ 7f94-gzdM)
2023/11/11(土) 18:46:23.39ID:wxiCP7Qj0603デフォルトの名無しさん (ワッチョイ 7f79-l6lv)
2023/11/11(土) 18:58:24.74ID:JXC3KAMY0 >>596
その手順ではアトミック性が損なわれるから正常に機能しない
プロセスが最初にやるべきは盲目的に「書き込み中だよ」ファイルを作ろうとする事
ファイルを所有できたかはファイルの作成の成否で判定する…つまりこんな馬鹿なことは今すぐ辞めるべき
その手順ではアトミック性が損なわれるから正常に機能しない
プロセスが最初にやるべきは盲目的に「書き込み中だよ」ファイルを作ろうとする事
ファイルを所有できたかはファイルの作成の成否で判定する…つまりこんな馬鹿なことは今すぐ辞めるべき
604デフォルトの名無しさん (ワッチョイ 7fe5-Zoup)
2023/11/11(土) 19:32:29.94ID:QEeEkTCo0 それぞれのスレッドが各々でファイルを書かなきゃいけない理由がなんかあるんかな?
そうじゃないならそれぞれの計算結果を親スレッドが受け取って
親スレッドがまとめて書き込めばいいんじゃないかなぁ
そうじゃないならそれぞれの計算結果を親スレッドが受け取って
親スレッドがまとめて書き込めばいいんじゃないかなぁ
605デフォルトの名無しさん (アウアウウー Sae3-Xzxn)
2023/11/11(土) 19:33:39.57ID:2HJkyP1va ファイルはだめだけど
ディレクトリ作成はok
ディレクトリ作成はok
606デフォルトの名無しさん (ワッチョイ 1f94-IE43)
2023/11/11(土) 19:44:09.90ID:kflznpjK0 >>604
俺ならこれ
場合によってはスレッドの意味が薄くなるけど、設計としては明白になりやすそう
もしくは各スレッドの結果?の書込処理について統合して管理するクラスを作る
順序を定義しといてキューに溜めとく感じ
俺ならこれ
場合によってはスレッドの意味が薄くなるけど、設計としては明白になりやすそう
もしくは各スレッドの結果?の書込処理について統合して管理するクラスを作る
順序を定義しといてキューに溜めとく感じ
607デフォルトの名無しさん (ワッチョイ ff02-FvvN)
2023/11/11(土) 19:55:09.06ID:6Uwmj7p80 linuxのパスワード書き換えプログラム vipw
がファイルを生成して排他制御をしているのだが
問題があったという話を聞いたことがないけど
がファイルを生成して排他制御をしているのだが
問題があったという話を聞いたことがないけど
608デフォルトの名無しさん (スプープ Sd9f-Zoup)
2023/11/11(土) 20:07:11.14ID:mqML6fZGd Aが書きこまないとBが書き込めない?
Aが新規ファイルに書き込んで
Bがそれ見つけてから書き込むようにしろ
Aが新規ファイルに書き込んで
Bがそれ見つけてから書き込むようにしろ
609デフォルトの名無しさん (ワッチョイ 7f94-gzdM)
2023/11/11(土) 20:35:27.62ID:wxiCP7Qj0 >>607
ロックファイルを用いた排他制御の手法をちょっと間違えて覚えてるな
> 「書き込み中だよ」ファイルがないことを確認してから
って部分が無意味
確認後にファイルを生成するまでの間に他のプロセスがファイルを生成するかもしれない
ロックファイルを用いた排他制御の手法をちょっと間違えて覚えてるな
> 「書き込み中だよ」ファイルがないことを確認してから
って部分が無意味
確認後にファイルを生成するまでの間に他のプロセスがファイルを生成するかもしれない
610デフォルトの名無しさん (ワッチョイ 9f04-RgHV)
2023/11/11(土) 20:58:58.22ID:piBb8Nie0 >>604
おれもそうするわ
おれもそうするわ
611デフォルトの名無しさん (ワッチョイ 7f31-vmna)
2023/11/11(土) 21:32:07.49ID:bCDMs/TZ0 >親スレッドがまとめて書き込めばいいんじゃないかなぁ
“まとめて”の意味合いにもよるけどAの書き込み処理はBの計算結果を待たずに開始できる点に留意する必要がある
“まとめて”の意味合いにもよるけどAの書き込み処理はBの計算結果を待たずに開始できる点に留意する必要がある
612デフォルトの名無しさん (ワッチョイ 7fe5-Zoup)
2023/11/11(土) 21:55:20.34ID:QEeEkTCo0613デフォルトの名無しさん (ワッチョイ 7fe5-Zoup)
2023/11/11(土) 21:56:20.93ID:QEeEkTCo0 あと、待ってるのはあくまで親であって、AとBの計算はパラで進めてくれて一向にかまわん
話の内容からして、Aの結果をもとにBが計算するわけでも無いだろうし
話の内容からして、Aの結果をもとにBが計算するわけでも無いだろうし
614デフォルトの名無しさん (ワッチョイ 1f9f-XI6K)
2023/11/11(土) 23:26:02.16ID:T+Kc9o9H0 こういう複雑さを考えるとRDBってよく出来てるなあ
615デフォルトの名無しさん (スプープ Sd9f-Zoup)
2023/11/11(土) 23:42:10.88ID:hf5ytgdCd AとBを同列に考えるからだめなんだ
Aが終わらないとBが結局終われないのだったら
BがAの親になればいいんだw
Aが終わらないとBが結局終われないのだったら
BがAの親になればいいんだw
616デフォルトの名無しさん (ワッチョイ 7fcb-MsHe)
2023/11/12(日) 00:18:55.26ID:IOHJkfoT0 >>572がいち早く嗅ぎつけたように、質問者は真の目的に対して無自覚に不適切な実現手段を選定している(それ故に、不適切な実現手段における実装上の課題、つまり二次的な課題を相談するハメなってる)
C#での実装手続きを検討する前段に立ち戻ることをオススメする
C#での実装手続きを検討する前段に立ち戻ることをオススメする
617デフォルトの名無しさん (ワッチョイ 7fe5-Zoup)
2023/11/12(日) 06:54:13.24ID:QHBv8+9D0 嗅ぎつけたて、>>572は質問者だぞ
618あぼーん
NGNGあぼーん
619デフォルトの名無しさん (ワッチョイ 7fcb-MsHe)
2023/11/12(日) 08:50:55.63ID:IOHJkfoT0620デフォルトの名無しさん (ワッチョイ 9f42-/zbX)
2023/11/12(日) 09:30:41.24ID:qtbaU10h0 一番の問題は、処理時間の大半を占めるだろうファイルの書き込み自体が並立処理ができないし
オープン、書き込み、クローズ等の回数が増大して処理時間が遅くなることだな
もちろんスレッドの切り替えや排他制御や順序の制御など色々仕事が増えるし、この部分も並列処理できない
マルチスレッドの練習ならいいけど、実用ソフトの作成ならシングルスレッドで書いたほうが遥かに早いものができる
オープン、書き込み、クローズ等の回数が増大して処理時間が遅くなることだな
もちろんスレッドの切り替えや排他制御や順序の制御など色々仕事が増えるし、この部分も並列処理できない
マルチスレッドの練習ならいいけど、実用ソフトの作成ならシングルスレッドで書いたほうが遥かに早いものができる
621デフォルトの名無しさん (ワッチョイ ffbc-Zoup)
2023/11/12(日) 10:50:45.23ID:0qXKJ0sK0 もう完全にスレチになんだけど。
>>620 みたいな決めつけってどうなんだろう。
素人がわざわざスレッドなんて言い出してるんだから、質問者が説明できていないだけでスレッドが必要な背景があるのかもしれない、と考えてあげてもよさそう。
自分も質問スレ等を利用したことがあるけど、意図して説明を省略したところの説明を強要されたり決めつけられたりすると、う~んと思うこともあったからね。
まあきちんと説明できない側が悪いのだけど。
言い訳的には誰にでもきちんと理解させられるほど状況を整理できてるなら、質問スレに頼る必要はほぼないかもしれない、とか。
>>620 みたいな決めつけってどうなんだろう。
素人がわざわざスレッドなんて言い出してるんだから、質問者が説明できていないだけでスレッドが必要な背景があるのかもしれない、と考えてあげてもよさそう。
自分も質問スレ等を利用したことがあるけど、意図して説明を省略したところの説明を強要されたり決めつけられたりすると、う~んと思うこともあったからね。
まあきちんと説明できない側が悪いのだけど。
言い訳的には誰にでもきちんと理解させられるほど状況を整理できてるなら、質問スレに頼る必要はほぼないかもしれない、とか。
622デフォルトの名無しさん (ワッチョイ ff10-Zoup)
2023/11/12(日) 11:01:35.90ID:EoAEw2XZ0 別にいいけど、しっかりと要点を説明できなきゃ、的外れな助言をされても文句は言えないからねぇ
623デフォルトの名無しさん (ワッチョイ 1f01-qIOU)
2023/11/12(日) 11:04:51.41ID:FeTL5mFV0 >>618
鬼コスパだな
鬼コスパだな
624デフォルトの名無しさん (ワッチョイ 1f94-IE43)
2023/11/12(日) 11:17:52.90ID:1lLdbIkC0 そもそもでいうなら、順番を待たなきゃいけない設計を見直さんとね
決まった順番で同じファイルに書き込まなきゃ理由がわからんからね
中のファイルが構造的でなきゃいけない場合、単純に順番に書込むだけでそれが担保出来てるのか、とか
例えばよくあるデータ形式にしても、
CSVならあまり順番意識しないから追記ってのもあるだろうけど、jsonで追記とかまあ自分は聞かないし
目の前の要求が満たせていればいい、っていうのも分からなくはないが
そこら辺の前提がないと最善などわからんよね
決まった順番で同じファイルに書き込まなきゃ理由がわからんからね
中のファイルが構造的でなきゃいけない場合、単純に順番に書込むだけでそれが担保出来てるのか、とか
例えばよくあるデータ形式にしても、
CSVならあまり順番意識しないから追記ってのもあるだろうけど、jsonで追記とかまあ自分は聞かないし
目の前の要求が満たせていればいい、っていうのも分からなくはないが
そこら辺の前提がないと最善などわからんよね
625デフォルトの名無しさん (ワッチョイ ff10-Zoup)
2023/11/12(日) 11:22:02.03ID:EoAEw2XZ0 >>623
氏ね自演
氏ね自演
626594 (ワッチョイ 7fbd-XI6K)
2023/11/12(日) 11:24:38.62ID:O1mU2H+U0627デフォルトの名無しさん (ワッチョイ 1f02-qIOU)
2023/11/12(日) 11:47:28.89ID:P9Q12+Ee0 >>618
ポイントを秒でゲットするのか
ポイントを秒でゲットするのか
628デフォルトの名無しさん (ワッチョイ 9f42-/zbX)
2023/11/12(日) 12:02:09.85ID:qtbaU10h0629デフォルトの名無しさん (ワッチョイ 7fe5-Zoup)
2023/11/12(日) 12:11:57.36ID:QHBv8+9D0 同期処理しなきゃいけないのを並列は無理では
630デフォルトの名無しさん (ワッチョイ ffbc-Zoup)
2023/11/12(日) 12:21:50.53ID:0qXKJ0sK0631デフォルトの名無しさん (ワッチョイ ff01-vmna)
2023/11/12(日) 12:50:38.93ID:kSd1xzHw0 決まった順番で同じファイルに書き込みたい状況やファイル書き込みより計算処理の方が遥かに時間がかかる状況なんていくらでもあるでしょ
処理速度向上のために並列化した計算結果を直列化するのはmap/reduceと同じで並列処理の基本パターンだと思うが
その際にメモリ効率や後続処理の都合でファイルに書き出しながらreduce相当の集約処理をするのもよくあるやり方
処理速度向上のために並列化した計算結果を直列化するのはmap/reduceと同じで並列処理の基本パターンだと思うが
その際にメモリ効率や後続処理の都合でファイルに書き出しながらreduce相当の集約処理をするのもよくあるやり方
632デフォルトの名無しさん (ブーイモ MM4f-vmna)
2023/11/12(日) 12:57:53.27ID:eSav3yyhM ついでに言うと真の目的を自覚してそれを他人に誤解なく伝えられるように言語化できる人間ってのはそうそういない
自分の言いたいことを相手に伝えようとする努力はもう少ししろよとは思うが真の目的を言語化すること初心者に求めるのは酷
自分の言いたいことを相手に伝えようとする努力はもう少ししろよとは思うが真の目的を言語化すること初心者に求めるのは酷
633デフォルトの名無しさん (ワッチョイ 7f68-gzdM)
2023/11/12(日) 12:57:57.10ID:92tzwC/W0634デフォルトの名無しさん (ワッチョイ 7fbd-XI6K)
2023/11/12(日) 13:02:14.64ID:O1mU2H+U0 >>628
壊れないよ。
追記でなく他のスレッドが書き込むサイズを把握して書き込み開始位置(現在のファイルサイズよりも先)
をちゃんと指定すれば大丈夫。
FILE_SHARE_WRITE指定だから複数スレッド同時に書き込めるし、
なんなら複数プロセスでも書き込める。
壊れないよ。
追記でなく他のスレッドが書き込むサイズを把握して書き込み開始位置(現在のファイルサイズよりも先)
をちゃんと指定すれば大丈夫。
FILE_SHARE_WRITE指定だから複数スレッド同時に書き込めるし、
なんなら複数プロセスでも書き込める。
635デフォルトの名無しさん (ワッチョイ ffbc-Zoup)
2023/11/12(日) 14:27:16.22ID:0qXKJ0sK0636デフォルトの名無しさん (ワッチョイ 9f42-/zbX)
2023/11/12(日) 15:28:30.84ID:qtbaU10h0637デフォルトの名無しさん (ワッチョイ 7fbd-XI6K)
2023/11/12(日) 16:27:53.40ID:O1mU2H+U0638デフォルトの名無しさん (ワッチョイ ff10-Zoup)
2023/11/12(日) 17:03:04.73ID:EoAEw2XZ0 .NETのソース隅から隅までは読んでないけど、FileStreamの内部でoverlapped構造体使用してたような記憶
639デフォルトの名無しさん (ワッチョイ 1ff8-Qkct)
2023/11/12(日) 19:11:35.86ID:iHK6/ooK0 その認識で合ってるよ
.NET4以降ならメモリマップドファイル使えるからそちらで共有するけど
.NET4以降ならメモリマップドファイル使えるからそちらで共有するけど
640デフォルトの名無しさん (ワッチョイ 7f79-l6lv)
2023/11/13(月) 00:49:40.70ID:AJp6/mRY0 ファイルはシーケンシャルで書くのが一番効率が良い
順番に並べる必要があるなら後でソートできるようにレコードをきちんと設計しておけば問題は起こらない
上でされてるいくつあるかも判らないスレッドごとに開始位置をシークして…なんて主張は馬鹿の発想
順番に並べる必要があるなら後でソートできるようにレコードをきちんと設計しておけば問題は起こらない
上でされてるいくつあるかも判らないスレッドごとに開始位置をシークして…なんて主張は馬鹿の発想
641デフォルトの名無しさん (ワッチョイ ff10-Zoup)
2023/11/13(月) 06:47:10.31ID:7hRFN4TL0 ちゃんと設計しないと逆にパフォーマンス落ちるぞって、当のMSがWriteFileのドキュメントで言ってるからね
642デフォルトの名無しさん (ワッチョイ 9ff3-IE43)
2023/11/13(月) 07:44:08.86ID:7oSmY/Hz0 妄想だけど、HDD、SSDよりも異次元レベルで速いストレージの時代になったら
それも変わってくるんかなとか思ったり
十年とかでそうなることはないやろけど
それも変わってくるんかなとか思ったり
十年とかでそうなることはないやろけど
643デフォルトの名無しさん (ワッチョイ 7ff5-1DlE)
2023/11/13(月) 07:55:21.10ID:flxB0Vsk0 確かにハードの進化がソフトを凌駕するからなぁ
windowsも出た頃は二世代後くらいのハードを想定して作ったとか後付で言ってたかな、遅くて使い物にならなかったよな最初の頃は(笑)
windowsも出た頃は二世代後くらいのハードを想定して作ったとか後付で言ってたかな、遅くて使い物にならなかったよな最初の頃は(笑)
644デフォルトの名無しさん (ブーイモ MM63-Qkct)
2023/11/13(月) 08:20:50.07ID:Rx9sePM0M タイル時代のは記事で読んだぐらいやな
645デフォルトの名無しさん (ラクッペペ MM4f-6FeI)
2023/11/13(月) 08:36:15.51ID:PVSRWaiLM Windows1.0は日本未発売
646デフォルトの名無しさん (ワッチョイ 7fe5-Zoup)
2023/11/13(月) 08:43:08.32ID:gHMVnHfM0 ストレージアクセスはずっとボトルネックだから
647デフォルトの名無しさん (ワッチョイ 9f42-/zbX)
2023/11/13(月) 09:12:26.25ID:jo7KeTmv0648デフォルトの名無しさん (ワッチョイ 1f01-AVwT)
2023/11/13(月) 19:08:34.41ID:+fGKUdks0649デフォルトの名無しさん (ワッチョイ ff10-Zoup)
2023/11/14(火) 07:15:31.76ID:LV/qT8Ke0 まともに触ったWindowsは95からだなぁ
伯父さんの家に3.1あったけど、ちょっとゲーム触らせてもらった程度だし
伯父さんの家に3.1あったけど、ちょっとゲーム触らせてもらった程度だし
650デフォルトの名無しさん (ワッチョイ 1fad-VGCZ)
2023/11/14(火) 07:31:15.46ID:Uvtmi6Yw0 OS2がまだ生きていた頃だな
651デフォルトの名無しさん (ワッチョイ 9f7c-gFzT)
2023/11/14(火) 19:07:18.84ID:xujXPfzz0 新しい.net来るぞ
652デフォルトの名無しさん (ワッチョイ 1f01-vgtH)
2023/11/15(水) 00:40:01.81ID:LrsG+7gI0 3日くらいぶっ続けでカンファレンスやってるみたいだけど英語わからんからやめとこ…
653デフォルトの名無しさん (ワッチョイ 9fae-Lcu7)
2023/11/15(水) 09:04:48.81ID:4gx9dXmF0 .NET 4.8.2が来るの!?
654デフォルトの名無しさん (ワッチョイ 7fe5-Zoup)
2023/11/15(水) 09:53:23.29ID:bUMQZh1h0 4.8.1は.NET Frameworkであって.NETじゃないが
655デフォルトの名無しさん (ワッチョイ 9f49-IE43)
2023/11/15(水) 10:00:02.34ID:cCd4X74c0 そろそろ.NETの頭のドット消して欲しい
色々紛らわしかったりめんどい
色々紛らわしかったりめんどい
656デフォルトの名無しさん (ワッチョイ 9f33-KpL6)
2023/11/15(水) 10:16:57.55ID:oY0624hB0 頭のドットもだが、もうちょっと固有な名前を付けてほしいよな
検索時のS/N比が…
検索時のS/N比が…
657デフォルトの名無しさん (ワッチョイ 1fcb-xj5q)
2023/11/15(水) 11:25:14.79ID:cN4uQIA10 dot NET
658デフォルトの名無しさん (ワッチョイ 9f7c-gFzT)
2023/11/15(水) 11:41:16.01ID:S5z+rJ9T0659デフォルトの名無しさん (ワッチョイ 9fae-Lcu7)
2023/11/15(水) 11:46:04.08ID:4gx9dXmF0 SilverLight<よっしゃ
XNA<固有な名前なら任せろ
XNA<固有な名前なら任せろ
660デフォルトの名無しさん (ワッチョイ 7f74-n7Dx)
2023/11/15(水) 12:41:13.13ID:D0hDoGTF0661デフォルトの名無しさん (ワッチョイ 9f49-Lcu7)
2023/11/15(水) 13:16:29.77ID:cCd4X74c0 Waimo eigo tyoto Dekiruyo !!
662デフォルトの名無しさん (ワッチョイ 7fe5-Zoup)
2023/11/15(水) 13:18:03.10ID:bUMQZh1h0 Makotoni I'm Sorry
663デフォルトの名無しさん (ワッチョイ 7f4b-4qIk)
2023/11/15(水) 13:39:33.53ID:GITsN6v60 Windowsで.net5以上でshift-jis使うのに
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
この1行いるのは知ってます
System.Text.Encoding.CodePagesを参照する必要があると書いてあるところと
いらないしいると書いてあるのは間違いだと書いてあるところがあったので
どちらが正しいのでしょうか?
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
この1行いるのは知ってます
System.Text.Encoding.CodePagesを参照する必要があると書いてあるところと
いらないしいると書いてあるのは間違いだと書いてあるところがあったので
どちらが正しいのでしょうか?
664デフォルトの名無しさん (ワッチョイ ffcb-KpL6)
2023/11/15(水) 13:55:26.89ID:IR5/gHhj0 .NET Core 3.0か3.1あたりで本体に入ったから今はもういらない
665デフォルトの名無しさん (ワッチョイ 7f74-n7Dx)
2023/11/15(水) 14:05:48.88ID:D0hDoGTF0666デフォルトの名無しさん (ワッチョイ 7fe5-Zoup)
2023/11/15(水) 14:08:52.32ID:bUMQZh1h0 SJISのためにRegisterProviderするのに何かアセンブリ参照追加する必要は無いね
667デフォルトの名無しさん (ワッチョイ 1f25-Lcu7)
2023/11/15(水) 14:17:23.51ID:amYyW+se0668デフォルトの名無しさん (ワッチョイ 7f4b-4qIk)
2023/11/16(木) 01:21:21.36ID:AO/C3SS40 >>664,666
thx
thx
669デフォルトの名無しさん (ワッチョイ 9fae-Lcu7)
2023/11/16(木) 16:07:12.51ID:IwsAzKF60 Windowsに限らず、AndroidやiOSやLinuxなどほとんどのOSで、
ファイル名に使って想定外の動作をしない記号って、アンダーバー「_」くらいでしょうか?
アンダーバーでも誤動作するOSってあります?
ファイル名に使って想定外の動作をしない記号って、アンダーバー「_」くらいでしょうか?
アンダーバーでも誤動作するOSってあります?
670デフォルトの名無しさん (ワッチョイ 7ff5-1DlE)
2023/11/16(木) 16:37:54.57ID:grFWv2Y10 そめそもファイル名に使える記号自体が、ハイフンかアンダーバーくらいじゃ
671デフォルトの名無しさん (ワッチョイ 1f5f-MsHe)
2023/11/16(木) 17:50:29.03ID:BDsDlHWv0 ファイルシステムによる
672デフォルトの名無しさん (ワッチョイ 9f42-/zbX)
2023/11/16(木) 18:03:46.46ID:Ms4DzmXb0 ファイル名 禁止文字でググれば使えない文字がわかるので
それ以外なら使えるってことだ
mac や linuxはwindowsで使えるやつはOKのようだ
それ以外なら使えるってことだ
mac や linuxはwindowsで使えるやつはOKのようだ
673デフォルトの名無しさん (オイコラミネオ MM13-Zoup)
2023/11/16(木) 18:33:52.17ID:K6GSt0E9M >>672
チルダは?
チルダは?
674デフォルトの名無しさん (ワッチョイ 1f01-ElWn)
2023/11/16(木) 21:16:19.40ID:ybAKbR/C0 SwiftLint使ってると、大文字や小文字で始まるか、キャメル式かスネーク式かいちいち文句付けてうざいぞぉw
675デフォルトの名無しさん (ワッチョイ 9fae-Lcu7)
2023/11/17(金) 10:11:24.65ID:QjfY8ooq0 >>670
ハイフンはMS-DOSがNGだから、ちょっと怖いかなと
ハイフンはMS-DOSがNGだから、ちょっと怖いかなと
676デフォルトの名無しさん (スプッッ Sd1f-4LBs)
2023/11/17(金) 11:06:24.34ID:RPLwg0XBd コンピュータ名はアンスコ使えなくてハイフンは使える謎
677デフォルトの名無しさん (スプッッ Sd7f-Xzxn)
2023/11/17(金) 11:28:27.47ID:180/RciHd _で始まるファイル名だとコンパイル出来ない言語は観た覚えがある
678デフォルトの名無しさん (ワッチョイ 9f49-IE43)
2023/11/17(金) 12:59:38.86ID:O8YSwnHi0 のーみそコネコネ
679デフォルトの名無しさん (ワッチョイ 9fae-Lcu7)
2023/11/17(金) 13:19:03.32ID:QjfY8ooq0 半角括弧()がどのOSでも使えるって出てきましたけど、本当でしょうか?
680デフォルトの名無しさん (ワッチョイ 1f5f-MsHe)
2023/11/17(金) 13:33:20.62ID:Sl2+FwO30 >>679
キミが「どのOSでも」「使う」という表現に込めた意味を、それぞれ詳しく教えて
キミが「どのOSでも」「使う」という表現に込めた意味を、それぞれ詳しく教えて
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★4 [ぐれ★]
- 【音楽】Perfume・あ~ちゃんの結婚相手「一般男性」は吉田カバンの社長・吉田幸裕氏(41) 高身長で山本耕史似 [Ailuropoda melanoleuca★]
- 【大分】佐賀関で大規模火災、170棟以上が延焼中 70代男性1人と連絡取れず [ぐれ★]
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- 自閉症が「んなっしょい」と連呼するお🏡
- アンケート調査で「高市発言は問題なし」 93.5%wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- じゃあ何故俺がここまで独身チーズ男性を嫌っているか理由が分かる?
- クマの救急医「ヘルメット被れ」 [787212328]
- 生活保護の受給額ってなんでこんなに安いの?
- 自民党議員「高市は先人が築き上げた日中関係を壊した。外務省が謝罪に言ってるが自分で責任を取れ」 [834922174]
