#pragma once typedef struct thread_pool_t thread_pool_t; thread_pool_t *thread_pool_create(size_t thread_count); void thread_pool_destroy(thread_pool_t *pool); long thread_pool_run(thread_pool_t *pool, void *(*func)(void*), void *data); void thread_pool_join_all(thread_pool_t *pool);