#include "stdafx.h" #include "threadpool.h" #include /* *** Begin app code *** */ /* *** ZTrueRequest class *** */ class ZTrueRequest : public ZRequest { std::string s; public: ZTrueRequest(std::string str) : s(str) {} ~ZTrueRequest() {}; std::string get_string() { return s; } }; /* *** End ZTrueRequest class *** */ /* *** ZJob class *** */ class ZJob : public ZThread { public: ZJob() {} ~ZJob() { } protected: void handle_request(ZRequest* r); }; void ZJob::handle_request(ZRequest* r) { ZTrueRequest* tr = static_cast(r); std::cout << tr->get_string(); delete r; } /* *** End ZJob class *** */ /* *** main *** */ int _tmain(int argc, _TCHAR* argv[]) { ZThreadPool* ztp = new ZThreadPool(250); char c; while ((c = std::cin.get())!='q') { if ((c==10) || (c==13)) continue; ZTrueRequest* r = new ZTrueRequest(std::string("char received was a ")+c+"\n"); ztp->request_add(r); } delete ztp; return 0; } /* *** End main *** */