123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- //
- // pthread_thread.h
- // threadpp
- //
- // Created by Melo Yao on 1/15/15.
- // Copyright (c) 2015 Melo Yao. All rights reserved.
- //
- #ifndef __threadpp__pthread_thread__
- #define __threadpp__pthread_thread__
- #include <pthread.h>
- namespace threadpp
- {
- class pthread_thread
- {
- struct pthread_context
- {
- void(*fp)(void* context);
- void* context;
- } _context;
-
- pthread_t _thread;
- pthread_thread(){};
- void operator=(const pthread_thread& t){};
- pthread_thread(const pthread_thread& t){};
- static void* pthread_fp_delegate(void*);
- public:
- typedef void (*runnable)(void* ctx);
- typedef unsigned long long id_type;
-
- static id_type null_id();
-
- pthread_thread(runnable r,void* t);
-
- ~pthread_thread();
- void join();
- void detach();
- bool is_equal(const pthread_thread& t) const;
- id_type get_id() const;
- static id_type current_thread_id();
- static void sleep(unsigned long millisecs);
- };
- }
- #include "pthread_thread.hpp"
- #endif /* defined(__threadpp__pthread_thread__) */
|