bbthread.h 472 B

1234567891011121314151617181920212223242526272829303132333435
  1. #ifndef BB_THREAD_H
  2. #define BB_THREAD_H
  3. #include "bbmonkey.h"
  4. #include <thread>
  5. #include <atomic>
  6. #include <mutex>
  7. #include <condition_variable>
  8. struct bbThread{
  9. static std::atomic_int next_id;
  10. static thread_local int current_id;
  11. std::thread thread;
  12. bool running=false;
  13. int start( bbFunction<void()> entry );
  14. void detach();
  15. void join();
  16. };
  17. struct bbMutex : public std::mutex{
  18. };
  19. struct bbCondvar : public std::condition_variable_any{
  20. };
  21. #endif