コード例 #1
0
ファイル: lock.cpp プロジェクト: VMML/Lunchbox
    virtual void run()
    {
        ops = 0;
        while( LB_LIKELY( _running ))
        {
            lock->set();
#ifndef _MSC_VER
            TEST( lock->isSet( ));
#endif
            lock->unset();
            ++ops;
        }
    }
コード例 #2
0
ファイル: rwLock.cpp プロジェクト: delalond/Lunchbox
    virtual void run()
        {
            ops = 0;
            sTime = 0.;
            while( LB_LIKELY( _running ))
            {
                lock->setRead();
                TEST( lock->isSetRead( ));
                if( hold > 0 ) // static, optimized out
                {
                    const double begin = _clock.getTimed();
                    lunchbox::sleep( hold );
                    sTime += _clock.getTimef() - begin;
                }
                lock->unsetRead();

                ++ops;
            }
        }