質問編集履歴

2

ソースの概要を追加

2016/02/08 14:49

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,4 @@
1
- 2/8追記
1
+ [2/8追記]
2
2
 
3
3
 
4
4
 
@@ -130,6 +130,8 @@
130
130
 
131
131
 
132
132
 
133
+ [初回投稿]
134
+
133
135
 
134
136
 
135
137
  初めて質問させていただきます。よろしくお願いします。

1

ソースの概要を追記

2016/02/08 14:49

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,3 +1,137 @@
1
+ 2/8追記
2
+
3
+
4
+
5
+ ソースの差分の概要を以下に追記しました。
6
+
7
+ ★部が性能差分の肝になると思っております。
8
+
9
+ 1.と2.は以前の質問の番号に対応しています。
10
+
11
+
12
+
13
+ 1.flockを1つのみ宣言する場合
14
+
15
+ struct flock f;
16
+
17
+ f.l_whence = SEEK_SET;
18
+
19
+ f.l_start = 0;
20
+
21
+ f.l_len = 0;
22
+
23
+ f.l_pid = 0;
24
+
25
+
26
+
27
+ === 10万回ループ ここから ===
28
+
29
+
30
+
31
+ ファイルオープン
32
+
33
+
34
+
35
+ f.l_type = F_WRLCK;★
36
+
37
+ fcntlで&fを引数にしてファイルロック★
38
+
39
+ fputsでファイル書き込み
40
+
41
+
42
+
43
+ f.l_type = F_UNLCK;★
44
+
45
+ fcntlで&fを引数にしてファイルロック解除★
46
+
47
+
48
+
49
+ fflush
50
+
51
+ ファイルクローズ
52
+
53
+
54
+
55
+ === 10万回ループ ここまで ===
56
+
57
+
58
+
59
+
60
+
61
+
62
+
63
+ 2.ロック用とロック解除用別々のflockを宣言する場合
64
+
65
+ struct flock f;
66
+
67
+ f.l_type = F_WRLCK;
68
+
69
+ f.l_whence = SEEK_SET;
70
+
71
+ f.l_start = 0;
72
+
73
+ f.l_len = 0;
74
+
75
+ f.l_pid = 0;
76
+
77
+
78
+
79
+ struct flock uf;
80
+
81
+ uf.l_type = F_UNLCK;
82
+
83
+ uf.l_whence = SEEK_SET;
84
+
85
+ uf.l_start = 0;
86
+
87
+ uf.l_len = 0;
88
+
89
+ uf.l_pid = 0;
90
+
91
+
92
+
93
+ === 10万回ループ ここから ===
94
+
95
+
96
+
97
+ ファイルオープン
98
+
99
+
100
+
101
+ fcntlで&fを引数にしてファイルロック★
102
+
103
+ fputsでファイル書き込み
104
+
105
+
106
+
107
+ fflush
108
+
109
+ fcntlで&ufを引数にしてファイルロック解除★
110
+
111
+ ファイルクローズ
112
+
113
+
114
+
115
+ === 10万回ループ ここまで ===
116
+
117
+
118
+
119
+
120
+
121
+ 何度も恐縮ですが、お知恵を拝借できればと思います。
122
+
123
+ よろしくお願いします。
124
+
125
+
126
+
127
+
128
+
129
+ //////////////////////////////////////////////////////////////
130
+
131
+
132
+
133
+
134
+
1
135
  初めて質問させていただきます。よろしくお願いします。
2
136
 
3
137