37 std::cout <<
"singleThreaded" << std::endl;
40 for(
size_t length = 1; length <= 100; ++length) {
46 BOOST_CHECK(q1.push(std::move(value)) ==
true);
51 BOOST_CHECK(q1.pop(value) ==
true);
52 BOOST_CHECK_EQUAL(value.
value(), length + 42);
56 for(
size_t n = 0; n < length; ++n) {
58 BOOST_CHECK(q1.push(std::move(value)) ==
true);
61 for(
size_t n = 0; n < length; ++n) {
63 BOOST_CHECK(q1.pop(value) ==
true);
64 BOOST_CHECK_EQUAL(value.
value(), length + n + 120);
68 for(
size_t n = 0; n < length; ++n) {
70 BOOST_CHECK(q1.push(std::move(value)) ==
true);
75 BOOST_CHECK(q1.push(std::move(value)) ==
false);
76 BOOST_CHECK_EQUAL(value.
value(), -666);
78 for(
size_t n = 0; n < length; ++n) {
80 BOOST_CHECK(q1.pop(value) ==
true);
81 BOOST_CHECK_EQUAL(value.
value(), length + n + 120);
85 BOOST_CHECK(q1.pop(value) ==
false);
86 BOOST_CHECK_EQUAL(value.
value(), -777);
94 std::cout <<
"multiThreaded" << std::endl;
97 for(
size_t length = 1; length <= 100; ++length) {
102 std::thread sender([&q1, length] {
107 std::thread receiver([&q1, length] {
118 std::thread receiver([&q1, length] {
123 std::thread sender([&q1, length] {
135 std::thread sender([&q1, length] {
136 for(
size_t n = 0; n < length; ++n) {
142 std::thread receiver([&q1, length] {
143 for(
size_t n = 0; n < length; ++n) {
156 std::thread receiver([&q1, length] {
157 for(
size_t n = 0; n < length; ++n) {
163 std::thread sender([&q1, length] {
164 for(
size_t n = 0; n < length; ++n) {
177 std::thread sender([&q1, length] {
178 for(
size_t n = 0; n < length; ++n) {
190 std::thread receiver([&q1, length] {
191 for(
size_t n = 0; n < length; ++n) {