Skip to content

Commit 03a7119

Browse files
authored
Update 003_std_atomic_long.cpp
1 parent 3b3b6c9 commit 03a7119

File tree

1 file changed

+45
-1
lines changed

1 file changed

+45
-1
lines changed

cpp_11/003_std_atomic_long.cpp

Lines changed: 45 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,45 @@
1-
1
1+
#include <thread>
2+
#include <atomic>
3+
#include <iostream>
4+
#include <list>
5+
6+
using namespace std;
7+
8+
atomic_long longCount(0);
9+
10+
void threadfun1()
11+
{
12+
for(int i =0; i< 1000; i++)
13+
{
14+
printf("longCount:%d\r\n", longCount);
15+
}
16+
}
17+
void threadfun2()
18+
{
19+
for(int i =0; i< 1000; i++)
20+
{
21+
printf("longCount:%d\r\n", longCount);
22+
}
23+
}
24+
25+
int main()
26+
{
27+
std::list<thread> lstThread;
28+
for (int i=0; i< 100; i++)
29+
{
30+
lstThread.push_back(thread(threadfun1));
31+
}
32+
for (int i=0; i< 100; i++)
33+
{
34+
lstThread.push_back(thread(threadfun2));
35+
}
36+
37+
for (auto& th: lstThread)
38+
{
39+
th.join();
40+
}
41+
42+
int x = longCount.load(memory_order_relaxed);
43+
printf("finally longCount:%d\r\n", x);
44+
}
45+

0 commit comments

Comments
 (0)