diff options
Diffstat (limited to 'graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/test/compile_all/compile_all.cpp')
-rw-r--r-- | graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/test/compile_all/compile_all.cpp | 149 |
1 files changed, 0 insertions, 149 deletions
diff --git a/graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/test/compile_all/compile_all.cpp b/graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/test/compile_all/compile_all.cpp deleted file mode 100644 index 1c349d4406..0000000000 --- a/graphics/asymptote/LspCpp/third_party/threadpool/libs/threadpool/test/compile_all/compile_all.cpp +++ /dev/null @@ -1,149 +0,0 @@ -/*! \file -* \brief threadpool tutorial. -* -* This file contains a tutorial for the threadpool library. -* -* Copyright (c) 2005-2006 Philipp Henkel -* -* Distributed under the Boost Software License, Version 1.0. (See -* accompanying file LICENSE_1_0.txt or copy at -* http://www.boost.org/LICENSE_1_0.txt) -* -* http://threadpool.sourceforge.net -* -*/ - - - - -#include <iostream> -#include <sstream> -#include <boost/thread/mutex.hpp> -#include <boost/bind.hpp> - -#include <boost/threadpool.hpp> - -using namespace std; -using namespace boost::threadpool; - - -// -// Helpers -boost::mutex m_io_monitor; - -void print(string text) -{ - boost::mutex::scoped_lock lock(m_io_monitor); - cout << text; -} - -template<typename T> -string to_string(T const & value) -{ - ostringstream ost; - ost << value; - ost.flush(); - return ost.str(); -} - - - -// -// An example task functions -void task_1() -{ - print(" task_1()\n"); -} - -void task_2() -{ - print(" task_2()\n"); -} - -void task_3() -{ - print(" task_3()\n"); -} - -int task_4() -{ - print(" task_4()\n"); - return 4; -} - -void task_with_parameter(int value) -{ - print(" task_with_parameter(" + to_string(value) + ")\n"); -} - -int loops = 0; -bool looped_task() -{ - print(" looped_task()\n"); - return ++loops < 5; -} - - -int task_int() -{ - print(" task_int()\n"); - return 23; -} - - -void fifo_pool_test() -{ - pool tp; - - tp.schedule(&task_1); - tp.schedule(boost::bind(task_with_parameter, 4)); - - if(!tp.empty()) - { - tp.clear(); // remove all tasks -> no output in this test - } - - size_t active_threads = tp.active(); - size_t pending_threads = tp.pending(); - size_t total_threads = tp.size(); - - size_t dummy = active_threads + pending_threads + total_threads; - dummy++; - - tp.size_controller().resize(5); - tp.wait(); -} - -void lifo_pool_test() -{ - lifo_pool tp; - tp.size_controller().resize(0); - schedule(tp, &task_1); - tp.size_controller().resize(10); - tp.wait(); -} - -void prio_pool_test() -{ - prio_pool tp(2); - schedule(tp, prio_task_func(1, &task_1)); - schedule(tp, prio_task_func(10,&task_2)); -} - - -void future_test() -{ - fifo_pool tp(5); - future<int> fut = schedule(tp, &task_4); - int res = fut(); -} - - -int main (int , char * const []) -{ - fifo_pool_test(); - lifo_pool_test(); - prio_pool_test(); - future_test(); - return 0; -} |