質問編集履歴

5

回答時期に関して補足を追加

2024/09/06 00:54

投稿

yajiyaji
yajiyaji

スコア3

test CHANGED
File without changes
test CHANGED
@@ -249,6 +249,12 @@
249
249
 
250
250
 
251
251
  ### 補足
252
+ 2024年9月6日追記
253
+ こちらの都合で恐縮ですが、この後出張や休暇が連続いたします。
254
+ コメント・回答をいただいた場合、反応が遅れてしまう可能性がございます。
255
+ 場合によっては、9月第三週以降になるかもしれません。
256
+ 恐れ入りますが、何卒ご了承ください。
257
+
252
258
  2024年9月5日追記
253
259
  ご助言に従ってログ出力を実装し、関数の引数や発生時刻を記述しました。
254
260
  これが原因かは分かりませんが、createBatの呼び出しや、バッチファイルの書き込みが各スレッドでミリ秒まで一致している場合に事象1(正しく書き込まれない)が発生していました。

4

文章の修正

2024/09/05 06:06

投稿

yajiyaji
yajiyaji

スコア3

test CHANGED
File without changes
test CHANGED
@@ -251,5 +251,5 @@
251
251
  ### 補足
252
252
  2024年9月5日追記
253
253
  ご助言に従ってログ出力を実装し、関数の引数や発生時刻を記述しました。
254
- これが原因かは分かりませんが、createBatの呼び出しや、バッチファイルの書き込みがミリ秒まで一致している場合に事象1(正しく書き込まれない)が発生していました。
254
+ これが原因かは分かりませんが、createBatの呼び出しや、バッチファイルの書き込みが各スレッドでミリ秒まで一致している場合に事象1(正しく書き込まれない)が発生していました。
255
255
  スレッドが異なっていたとしても、ミリ秒まで同じタイミングで実行すると不具合が生じるのでしょうか?

3

補足にログ出力による結果を追記

2024/09/05 05:24

投稿

yajiyaji
yajiyaji

スコア3

test CHANGED
File without changes
test CHANGED
@@ -249,4 +249,7 @@
249
249
 
250
250
 
251
251
  ### 補足
252
- 特になし
252
+ 2024年9月5日追記
253
+ ご助言に従ってログ出力を実装し、関数の引数や発生時刻を記述しました。
254
+ これが原因かは分かりませんが、createBatの呼び出しや、バッチファイルの書き込みがミリ秒まで一致している場合に事象1(正しく書き込まれない)が発生していました。
255
+ スレッドが異なっていたとしても、ミリ秒まで同じタイミングで実行すると不具合が生じるのでしょうか?

2

誤字の修正

2024/09/05 04:12

投稿

yajiyaji
yajiyaji

スコア3

test CHANGED
File without changes
test CHANGED
@@ -85,7 +85,6 @@
85
85
  string[] outputDTArr = outputFile.Split(".");
86
86
  string outputDT = outputDTArr[0] + "_" + productionDT.ToString("yyyyMMddHHmmssfff") + thNo + "." + outputDTArr[1];
87
87
 
88
- ~~Task.Delay(1000);~~
89
88
  Task t = Task.Delay(1000);
90
89
  t.Wait();
91
90
 

1

Task.Delayの修正、batFileNameにミリ秒を追加

2024/09/05 04:10

投稿

yajiyaji
yajiyaji

スコア3

test CHANGED
File without changes
test CHANGED
@@ -85,7 +85,9 @@
85
85
  string[] outputDTArr = outputFile.Split(".");
86
86
  string outputDT = outputDTArr[0] + "_" + productionDT.ToString("yyyyMMddHHmmssfff") + thNo + "." + outputDTArr[1];
87
87
 
88
- Task.Delay(1000);
88
+ ~~Task.Delay(1000);~~
89
+ Task t = Task.Delay(1000);
90
+ t.Wait();
89
91
 
90
92
  //Shift_JIS指定用
91
93
  Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
@@ -101,7 +103,7 @@
101
103
  }
102
104
 
103
105
  //バッチ作成
104
- string batFileName = "マルチスレッドsample_" + productionDT.ToString("yyyyMMddHHmmss") + thNo + ".bat";
106
+ string batFileName = "マルチスレッドsample_" + productionDT.ToString("yyyyMMddHHmmssfff") + thNo + ".bat";
105
107
  using(var sw = new StreamWriter(batFileName,false,Encoding.GetEncoding("shift_jis"))) {
106
108
  //別アプリケーションで必要な記述
107
109
  sw.WriteLine("-input = " + inputFile);