diff options
Diffstat (limited to 'cpp/demo/IceUtil/workqueue/WorkQueue.cpp')
-rw-r--r-- | cpp/demo/IceUtil/workqueue/WorkQueue.cpp | 96 |
1 files changed, 48 insertions, 48 deletions
diff --git a/cpp/demo/IceUtil/workqueue/WorkQueue.cpp b/cpp/demo/IceUtil/workqueue/WorkQueue.cpp index 2b7c081e1da..3e006040fae 100644 --- a/cpp/demo/IceUtil/workqueue/WorkQueue.cpp +++ b/cpp/demo/IceUtil/workqueue/WorkQueue.cpp @@ -36,28 +36,28 @@ public: virtual void run() { - while(1) - { - string item = nextItem(); - if(item == "destroy") - { - break; - } - - mtprint("work item: " + item + "\n"); - IceUtil::ThreadControl::sleep(IceUtil::Time::seconds(1)); - } + while(1) + { + string item = nextItem(); + if(item == "destroy") + { + break; + } + + mtprint("work item: " + item + "\n"); + IceUtil::ThreadControl::sleep(IceUtil::Time::seconds(1)); + } } void add(const string& item) { - IceUtil::Monitor<IceUtil::Mutex>::Lock lock(_monitor); - if(_queue.empty()) - { - _monitor.notify(); - } - _queue.push_back(item); + IceUtil::Monitor<IceUtil::Mutex>::Lock lock(_monitor); + if(_queue.empty()) + { + _monitor.notify(); + } + _queue.push_back(item); } private: @@ -65,15 +65,15 @@ private: string nextItem() { - IceUtil::Monitor<IceUtil::Mutex>::Lock lock(_monitor); - while(_queue.empty()) - { - _monitor.wait(); - } - - string item = _queue.front(); - _queue.pop_front(); - return item; + IceUtil::Monitor<IceUtil::Mutex>::Lock lock(_monitor); + while(_queue.empty()) + { + _monitor.wait(); + } + + string item = _queue.front(); + _queue.pop_front(); + return item; } @@ -88,31 +88,31 @@ main() { try { - WorkQueuePtr h = new WorkQueue(); - IceUtil::ThreadControl control = h->start(); - mtprint("Pushing work items"); - mtprint("."); - h->add("item1"); - mtprint("."); - h->add("item2"); - mtprint("."); - h->add("item3"); - mtprint("."); - h->add("item4"); - mtprint("."); - h->add("item5"); - mtprint("."); - h->add("destroy"); - mtprint("ok\n"); - mtprint("Waiting for WorkQueue to terminate\n"); - control.join(); + WorkQueuePtr h = new WorkQueue(); + IceUtil::ThreadControl control = h->start(); + mtprint("Pushing work items"); + mtprint("."); + h->add("item1"); + mtprint("."); + h->add("item2"); + mtprint("."); + h->add("item3"); + mtprint("."); + h->add("item4"); + mtprint("."); + h->add("item5"); + mtprint("."); + h->add("destroy"); + mtprint("ok\n"); + mtprint("Waiting for WorkQueue to terminate\n"); + control.join(); } catch(const IceUtil::Exception& ex) { - ostringstream os; - os << ex << "\n"; - mtprint(os.str()); - return EXIT_FAILURE; + ostringstream os; + os << ex << "\n"; + mtprint(os.str()); + return EXIT_FAILURE; } return EXIT_SUCCESS; |