-
Notifications
You must be signed in to change notification settings - Fork 0
/
CodeSnap-BlockingQueue.txt.html
115 lines (111 loc) · 3.53 KB
/
CodeSnap-BlockingQueue.txt.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
<!----------------------------------------------------------------------------
CodeSnap-BlockingQueue.htm
Published 19 Mar 2017
Jim Fawcett, CSE687 : Object Oriented Design, Summer 2017
Note:
- Markup characters in the text part, enclosed in <pre>...</pre> have to be
replaced with escape sequences, e.g., < becomes < and > becomes >
- Be careful that you don't replace genuine markup characters with escape
sequences, e.g., everything outside of the <pre>...</pre> section.
----------------------------------------------------------------------------->
<html>
<head>
<script src="js/ScriptsUtilities.js"></script>
<script src="js/ScriptsTemplate.js"></script>
<script src="js/ScriptsKeyboard.js"></script>
<script src="js/ScriptsMenuCpp.js"></script>
<link rel="stylesheet" href="css/StylesTemplate.css" />
<link rel="stylesheet" href="css/StylesMenu.css" />
<style>
h3 {
font-weight: normal;
}
</style>
</head>
<body id="github" onload="initializeMenu()">
<nav>
<div id="navbar"></div>
</nav>
<a id="Next" href="CodeSnap-BlockingQueue.h.html">N</a>
<a id="Prev" href="CodeSnap-BlockingQueue.cpp.html">P</a>
<navKeys-Container>
<nav-Key id="sKey" onclick="toggleSwipeEvents()">S</nav-Key>
<nav-Key id="rKey" onclick="location.reload()">R</nav-Key>
<nav-Key id="tKey" onclick="scrollPageTop()">T</nav-Key>
<nav-Key id="bKey" onclick="scrollPageBottom()">B</nav-Key>
<nav-Key id="hKey" onclick="helpWin()">H</nav-Key>
<nav-Key id="pKey" onclick="loadPrev()">P</nav-Key>
<nav-Key id="nKey" onclick="loadNext()">N</nav-Key>
</navKeys-Container>
<h3>
<a href="CodeSnap-BlockingQueue.h.html">BlockingQueue.h</a>
<a href="CodeSnap-BlockingQueue.cpp.html">BlockingQueue.cpp</a>
<a href="CodeSnap-BlockingQueue.txt.html">BlockingQueue.txt</a>
<a href="https://github.com/JimFawcett/CppBlockingQueue">Code folder</a>
</h3>
<div class="indent">
This code illustrates how Packages should be structured<br />
and is also a good example of a template class.<br />
We will find BlockingQueue to be very useful when writing multi-threaded code.
</div>
<hr />
<pre class="codeSnap">
Demonstrating C++11 Blocking Queue
====================================
main enQing msg#0
thread deQed msg#0
main enQing msg#1
main enQing msg#2
thread deQed msg#1
main enQing msg#3
main enQing msg#4
main enQing msg#5
thread deQed msg#2
main enQing msg#6
main enQing msg#7
main enQing msg#8
thread deQed msg#3
main enQing msg#9
main enQing msg#10
thread deQed msg#4
main enQing msg#11
main enQing msg#12
main enQing msg#13
thread deQed msg#5
main enQing msg#14
thread deQed msg#6
thread deQed msg#7
thread deQed msg#8
thread deQed msg#9
thread deQed msg#10
thread deQed msg#11
thread deQed msg#12
thread deQed msg#13
thread deQed msg#14
thread deQed quit
Making move copy of BlockingQueue
-----------------------------------
before move:
q.size() = 1
q.front() = test
after move:
q2.size() = 1
q.size() = 0
q2 element = test
Move assigning state of BlockingQueue
---------------------------------------
before move:
q.size() = 1
q.front() = test
after move:
q.size() = 0
q3.size() = 1
q3 element = test
Press any key to continue . . .
</pre>
<!--<div class="photo">
<img src="pictures/CSTstrip.jpg" width="100%" />
</div>-->
<info-bar></info-bar>
</body>
</html>