5 changed files with 82 additions and 4 deletions
			
			
		| @ -1,8 +1,12 @@ | |||
| cmake_minimum_required(VERSION 3.0) | |||
| 
 | |||
| set(CMAKE_C_STANDARD 99) | |||
| set(CMAKE_CXX_STANDARD 11) | |||
| 
 | |||
| project(tiny_thread_pool LANGUAGES C) | |||
| project(tiny_thread_demo LANGUAGES CXX) | |||
| 
 | |||
| add_executable(tiny_pool main.c tiny_pool.c) | |||
| target_link_libraries(tiny_pool pthread) | |||
| include_directories(src) | |||
| 
 | |||
| add_subdirectory(src) | |||
| 
 | |||
| add_executable(demo demo.cc) | |||
| target_link_libraries(demo tiny_pool) | |||
|  | |||
| @ -0,0 +1,34 @@ | |||
| #include <iostream> | |||
| #include <unistd.h> | |||
| #include "tiny_pool.h" | |||
| 
 | |||
| void demo_func(void *arg) { | |||
| 
 | |||
|     std::cout << *(int*)arg << std::endl; | |||
| 
 | |||
|     sleep(1); | |||
| 
 | |||
| } | |||
| 
 | |||
| int main() { | |||
|     std::cout << "tiny thread pool demo start" << std::endl; | |||
| 
 | |||
| 
 | |||
|     auto pool = tiny_pool_create(3); | |||
| 
 | |||
|     int dat[] = {0, 1, 2, 3, 4, 5, 6}; | |||
|     tiny_pool_submit(pool, demo_func, (void*)&dat[0]); | |||
|     tiny_pool_submit(pool, demo_func, (void*)&dat[1]); | |||
|     tiny_pool_submit(pool, demo_func, (void*)&dat[2]); | |||
|     tiny_pool_submit(pool, demo_func, (void*)&dat[3]); | |||
|     tiny_pool_submit(pool, demo_func, (void*)&dat[4]); | |||
|     tiny_pool_submit(pool, demo_func, (void*)&dat[5]); | |||
|     tiny_pool_submit(pool, demo_func, (void*)&dat[6]); | |||
| 
 | |||
|     tiny_pool_boot(pool); | |||
| 
 | |||
|     tiny_pool_join(pool); | |||
| 
 | |||
|     std::cout << "tiny thread pool demo exit" << std::endl; | |||
|     return 0; | |||
| } | |||
| @ -0,0 +1,8 @@ | |||
| cmake_minimum_required(VERSION 3.0) | |||
| 
 | |||
| set(CMAKE_C_STANDARD 99) | |||
| 
 | |||
| project(tiny_thread_pool LANGUAGES C) | |||
| 
 | |||
| add_library(tiny_pool tiny_pool.c) | |||
| target_link_libraries(tiny_pool pthread) | |||
					Loading…
					
					
				
		Reference in new issue