#ifndef _THREAD_
#define _THREAD_

#include "sys/sys"
#include "memory/memory"
#include "error/error"
#include "config/config"
#include "timestamp/timestamp"
#include "ThreadsAndMutexes/mutex/mutex"
#include "ThreadsAndMutexes/threadlist/threadlist"

using namespace std;

#ifdef MEMDEBUG
class Thread: public Mutex, public Memory
#else    
class Thread: public Mutex
#endif
{
public:
    virtual ~Thread();
    void start();
    virtual void execute();

private:
    static void *_run(void *data);
};

#endif
