“TQueue.h” using namespace ZT

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

“TQueue.h” using namespace ZThread; using namespace std: class Car { int id; bool engine. driveTrain. wheels; public: Car(int idn) : id(idn). engine(false). driveTrain(false). wheels(false) {} // Пустой объект Car: CarO : id(-l). engine(false). driveTrain(false). wheels(false) {} // Функции не синхронизируются — предполагается. // что операции bool атомарны, int getldO { return id; } void addEngineO { engine = true: } bool enginelnstalledO { return engine; } void addDriveTrainO { driveTrain = true; } bool driveTrainlnstalledO { return driveTrain; } void addWheelsO { wheels = true; } bool wheels I nstalledO { return wheels; } friend ostream& operator«(ostream& os. const Car& c) { return os « “Car ” « c.id « ” [" « " engine: " « c.engine « " driveTrain: " « c.driveTrain « " wheels: " « c.wheels « " ]“; } }: typedef CountedPtr< TQueue > CarQueue: class ChassisBuilder : public Runnable { CarQueue carQueue: int counter: public: ChassisBuilder(CarQueue& cq) : carQueue(cq).counter(O) {} void run() { try { while( IThread::interruptedO) { Thread::sieep(1000); // Создание рамы: Car c(counter++): cout « с «


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