00001 #ifndef DV_THREAD_WRITER_H
00002 #define DV_THREAD_WRITER_H
00003
00004 #include <dvthread/thread.h>
00005 #include <unistd.h>
00006 #include "test-buffer.h"
00007
00008
00009 class Writer: public Dv::Thread::Thread {
00010 public:
00011
00012 Writer(Buffer& buf, unsigned int n): Thread(), buffer_(buf), n_(n) {}
00013
00014 int main() {
00015 std::cerr << "writer main, id = " << id() << std::endl;
00016 try {
00017 for (unsigned int i=0; (i<n_);++i)
00018 buffer_.put(i);
00019 }
00020 catch (std::exception& e) {
00021 std::cerr << e.what() << std::endl;
00022 return 1;
00023 }
00024 return 0;
00025 }
00026
00027 virtual ~Writer() { std::cerr << "Writer::~Writer" << std::endl; }
00028 private:
00029
00030 Buffer& buffer_;
00031
00032 unsigned int n_;
00033 };
00034 #endif