26 #define TEST_NUM_ITEMS 10000
46 "mpmcq_test_producer_thd",
81 "mpmcq_test_consumer_thd",
126 for (
int i = 0;
i <
queue.init_num_nodes(); ++
i) {
131 for (
int i = 0;
i <
queue.init_num_nodes(); ++
i) {
136 for (
int i = 0;
i <
queue.init_num_nodes(); ++
i) {
144 for (
int i = 0;
i <
queue.init_num_nodes() * 2; ++
i) {
150 for (
int i = 0;
i <
queue.init_num_nodes(); ++
i) {
157 for (
int i = 0;
i <
queue.init_num_nodes() + 1; ++
i) {
163 for (
int i = 0;
i <
queue.init_num_nodes() * 2 + 1; ++
i) {
174 const int num_producer_threads = 10;
175 const int num_consumer_threads = 20;
181 for (
int i = 0;
i < num_producer_threads; ++
i) {
182 producer_threads[
i] =
184 producer_threads[
i]->
Start();
188 for (
int i = 0;
i < num_consumer_threads; ++
i) {
190 consumer_threads[
i]->
Start();
194 for (
int i = 0;
i < num_producer_threads; ++
i) {
195 producer_threads[
i]->
Join();
199 for (
int i = 0;
i < num_consumer_threads; ++
i) {
202 for (
int i = 0;
i < num_consumer_threads; ++
i) {
203 consumer_threads[
i]->
Join();
207 for (
int i = 0;
i < num_producer_threads; ++
i) {
209 delete producer_threads[
i];
211 delete[] producer_threads;
212 for (
int i = 0;
i < num_consumer_threads; ++
i) {
213 delete consumer_threads[
i];
215 delete[] consumer_threads;
219 int main(
int argc,
char** argv) {