Operations Dev/Producer
-
종료Operations Dev/Producer 2010. 12. 11. 01:39
이서비스는 쓰레드로 만들었습니다. 그리고 윈도우는 메인함수에서 메인쓰레드라는게 존재한다. 그리고 각각 동작한다. 그리고 아까이야기 했듯이 클래스단위로 쓰레드화 하는게 아니고 하나의 컨숨?한 쓰레드가 됩니다. 이 프로듀서를 어디서 생성을 할까요->메인에서 생성할겁니다. 끄려면 강제종료를 시켜야하는데 그러면 메인이 종료됩니다. 그러면서 자식쓰레드들도 종료가됩니다. 그럼 소멸자가 어디서 불릴까? ->메인스레드 서비스함수들은 어디서 돌아가고 있을까? -> 각각 자기스레드 그럼 소멸자가 호출되는 순간 그 스레드들은 돌고있을까 안돌고있을까? -> 돌고있고 소멸자가 호출되도 돌리려고 시도 할 수 있다. -> 그러면 터진다 해결책 플래그변수를 불러요 -> Customer에 boolean변수 isEnd를 만든다 vola..
-
Producer / CustomerOperations Dev/Producer 2010. 12. 10. 23:45
Producer.h #pragma once #include #include #include "Concurrency\Thread.h" #include "Customer.h" #include "Concurrency\Timer.h" #include "Concurrency\SpinLock.h" class Producer { public: Producer(float frequency); ~Producer(); public: void beginService(); bool tryPop( std::string * product); private: void service(); private: Thread * _thread; std::queue _products;//경쟁관계에 있는 녀석 Time..