teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

ソースの概要を追加

2016/02/08 14:49

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,4 @@
1
- 2/8追記
1
+ [2/8追記]
2
2
 
3
3
  ソースの差分の概要を以下に追記しました。
4
4
  ★部が性能差分の肝になると思っております。
@@ -64,6 +64,7 @@
64
64
 
65
65
  //////////////////////////////////////////////////////////////
66
66
 
67
+ [初回投稿]
67
68
 
68
69
  初めて質問させていただきます。よろしくお願いします。
69
70
 

1

ソースの概要を追記

2016/02/08 14:49

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,3 +1,70 @@
1
+ 2/8追記
2
+
3
+ ソースの差分の概要を以下に追記しました。
4
+ ★部が性能差分の肝になると思っております。
5
+ 1.と2.は以前の質問の番号に対応しています。
6
+
7
+ 1.flockを1つのみ宣言する場合
8
+ struct flock f;
9
+ f.l_whence = SEEK_SET;
10
+ f.l_start = 0;
11
+ f.l_len = 0;
12
+ f.l_pid = 0;
13
+
14
+ === 10万回ループ ここから ===
15
+
16
+ ファイルオープン
17
+
18
+ f.l_type = F_WRLCK;★
19
+ fcntlで&fを引数にしてファイルロック★
20
+ fputsでファイル書き込み
21
+
22
+ f.l_type = F_UNLCK;★
23
+ fcntlで&fを引数にしてファイルロック解除★
24
+
25
+ fflush
26
+ ファイルクローズ
27
+
28
+ === 10万回ループ ここまで ===
29
+
30
+
31
+
32
+ 2.ロック用とロック解除用別々のflockを宣言する場合
33
+ struct flock f;
34
+ f.l_type = F_WRLCK;
35
+ f.l_whence = SEEK_SET;
36
+ f.l_start = 0;
37
+ f.l_len = 0;
38
+ f.l_pid = 0;
39
+
40
+ struct flock uf;
41
+ uf.l_type = F_UNLCK;
42
+ uf.l_whence = SEEK_SET;
43
+ uf.l_start = 0;
44
+ uf.l_len = 0;
45
+ uf.l_pid = 0;
46
+
47
+ === 10万回ループ ここから ===
48
+
49
+ ファイルオープン
50
+
51
+ fcntlで&fを引数にしてファイルロック★
52
+ fputsでファイル書き込み
53
+
54
+ fflush
55
+ fcntlで&ufを引数にしてファイルロック解除★
56
+ ファイルクローズ
57
+
58
+ === 10万回ループ ここまで ===
59
+
60
+
61
+ 何度も恐縮ですが、お知恵を拝借できればと思います。
62
+ よろしくお願いします。
63
+
64
+
65
+ //////////////////////////////////////////////////////////////
66
+
67
+
1
68
  初めて質問させていただきます。よろしくお願いします。
2
69
 
3
70
  Cでfcntlでファイル制御を行う時のflock構造体の宣言の仕方で