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