Example #1
0
void processMessages3() {
    ProcessMsgClass pmc(client);
    QThread t;
    pmc.moveToThread(&t);
    t.start();
    sleep(10);
}
Example #2
0
ProducerManagerClientPtr ClientFactory::getProducerManagerClient(const std::string& zkAddress) {
    MCE_INFO("ClientFactory::getProducerManagerClient zkAddress " << zkAddress);
    std::map<std::string, ProducerManagerClientPtr>::iterator findIt;
    {
        boost::shared_lock<boost::shared_mutex> lock(producerManagerClientMaplock_);
        findIt = producerManagerClientMap_.find(zkAddress);
        if( findIt != producerManagerClientMap_.end() ){
            return findIt->second;
        }
    }
    {
        boost::upgrade_lock<boost::shared_mutex> lock(producerManagerClientMaplock_);
        boost::upgrade_to_unique_lock<boost::shared_mutex> uniqueLock1(lock);
        findIt = producerManagerClientMap_.find(zkAddress);
        if( findIt != producerManagerClientMap_.end() ){
            return findIt->second;
        }
        ProducerManagerClientPtr pmc(new ProducerManagerClient(zkAddress));
        producerManagerClientMap_.insert(make_pair(zkAddress, pmc));
        MCE_INFO("ClientFactory::getProducerManagerClient init new cachemanagerclient for zkAddress " << zkAddress);
        return pmc;
    }
}