ндах } // Чтение ввода с консо

Автор admin Среда, 24 июня 2009 11:32

ндах } // Чтение ввода с консоли cin.getO: cout « “Shutting down…” « endl: } ///:- Чтобы программа перестала блокироваться, задачу вывода файла можно выполнять в отдельном программном потоке. В этом случае главный поток отслеживает действия пользователя и реагирует на них: //: Cll.ResponsiveUI.cpp // Многопоточная модель для ускорения реакции // пользовательского интерфейса. Программные потоки 539 //{L} ZThread #i nclude #i nclude #include #include “zthread/Thread.h” using namespace ZThread: using namespace std: class DisplayTask : public Runnable { ifstream in: string line: bool quitFlag; public: DisplayTask(const strings file) : quitFlag(false) { in.open(file.c_str()): } -DisplayTaskО { in.closeO: } void run() { while(getline(in, line) && IquitFlag) { cout « 1i ne « endl: Thread::sieep(1000): } } void quitO { quitFlag = true: } }: int mainO { try { cout « “Press to quit:” « endl: DisplayTask* dt = new DisplayTaskC’ResponsiveUI.cpp”): Thread t(dt): cin.getO: dt->quit(); } catch(Synchronization_Exception& e) { cerr « e.whatO « endl: } cout « “Shutting down…” «


Комментарии закрыты.