本文整理汇总了C++中ArMutex::setLogName方法的典型用法代码示例。如果您正苦于以下问题:C++ ArMutex::setLogName方法的具体用法?C++ ArMutex::setLogName怎么用?C++ ArMutex::setLogName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ArMutex
的用法示例。
在下文中一共展示了ArMutex::setLogName方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char **argv)
{
Aria::init();
ArMutex mutex;
mutex.setLogName("test mutex");
ArLog::log(ArLog::Normal, "This test succeeds if three (and only three) mutex lock/unlock time warning follow.");
mutex.setUnlockWarningTime(1); // 1 sec
mutex.lock();
mutex.unlock(); // should not warn
mutex.lock();
ArUtil::sleep(2000); // 2 sec
mutex.unlock(); // should warn
mutex.lock();
ArUtil::sleep(500); // 0.5 sec
mutex.unlock(); // should not warn
mutex.setUnlockWarningTime(0.5); // 0.5 sec
mutex.lock();
ArUtil::sleep(600); // 0.6 sec
mutex.unlock(); // should warn
mutex.lock();
ArUtil::sleep(200); // 0.2 sec
mutex.unlock(); // should not warn
mutex.lock();
mutex.unlock(); // should not warn
mutex.setUnlockWarningTime(0.1); // 0.1 sec
mutex.lock();
ArUtil::sleep(200); // 0.2 sec
mutex.unlock(); // should warn
mutex.setUnlockWarningTime(0.0); // off
mutex.lock();
ArUtil::sleep(100); // should not warn
mutex.unlock();
Aria::exit(0);
}
示例2: main
int main(int argc, char **argv)
{
Aria::init();
ArMutex mutex;
mutex.setLogName("test mutex");
ArLog::log(ArLog::Normal, "This test succeeds if three (and only three) mutex lock/unlock time warning follow.");
puts("setting test_mutex warning time to 1 sec");
mutex.setUnlockWarningTime(1); // 1 sec
puts("locking and unlocking immediately, should not warn...");
mutex.lock();
mutex.unlock(); // should not warn
puts("locking and unlocking after 2 sec, should warn...");
mutex.lock();
ArUtil::sleep(2000); // 2 sec
mutex.unlock(); // should warn
puts("locking and unlocking after 0.5 sec, should not warn...");
mutex.lock();
ArUtil::sleep(500); // 0.5 sec
mutex.unlock(); // should not warn
puts("setting test_mutex warning time to 0.5 sec");
mutex.setUnlockWarningTime(0.5); // 0.5 sec
puts("locking and unlocking after 0.6 sec, should warn...");
mutex.lock();
ArUtil::sleep(600); // 0.6 sec
mutex.unlock(); // should warn
puts("locking and unlocking after 0.2 sec, should not warn...");
mutex.lock();
ArUtil::sleep(200); // 0.2 sec
mutex.unlock(); // should not warn
puts("locking and unlocking immediately, should not warn...");
mutex.lock();
mutex.unlock(); // should not warn
puts("setting test_mutex warning time to 0.1 sec");
mutex.setUnlockWarningTime(0.1); // 0.1 sec
puts("locking and unlocking after 0.2 sec, should warn...");
mutex.lock();
ArUtil::sleep(200); // 0.2 sec
mutex.unlock(); // should warn
mutex.setUnlockWarningTime(0.0); // off
mutex.lock();
ArUtil::sleep(100); // should not warn
mutex.unlock();
// Create and destroy a few mutexes, locking them, etc.
ArMutex *m1 = new ArMutex();
m1->setLogName("m1");
m1->lock();
ArMutex *m2 = new ArMutex();
m2->lock();
m2->setLogName("m2");
puts("unlocking m1 before destroying it...");
m1->unlock();
delete m1;
puts("NOT unlocking m2 before destroying it...");
delete m2;
puts("exiting with Aria::exit(0)...");
Aria::exit(0);
}
示例3: main
int main(int argc, char **argv)
{
Aria::init(Aria::SIGHANDLE_THREAD, false);
ArMutex mutex;
mutex.setLogName("mutex");
ArMutex::setLockWarningTime(1);
ArMutex::setUnlockWarningTime(5);
TestThread thread1(1, mutex), thread2(2, mutex), thread3(3, mutex),
thread4(4, mutex);
thread1.setThreadName("thread1");
thread2.setThreadName("thread2");
thread3.setThreadName("thread3");
thread4.setThreadName("thread4");
srand(time(0));
thread1.create();
thread2.create();
thread3.create();
printf("main thread name=\"%s\", OS handle=%lu, OS pointer=0x%x\n", ArThread::getThisThreadName(), ArThread::getThisOSThread(), (unsigned int) ArThread::getThisThread());
printf("thread1 thread name=\"%s\", OS handle=%lu, OS pointer=0x%x\n", thread1.getThreadName(), thread1.getOSThread(), (unsigned int) thread1.getThread());
printf("thread2 thread name=\"%s\", OS handle=%lu, OS pointer=0x%x\n", thread2.getThreadName(), thread2.getOSThread(), (unsigned int) thread2.getThread());
printf("thread3 thread name=\"%s\", OS handle=%lu, OS pointer=0x%x\n", thread3.getThreadName(), thread3.getOSThread(), (unsigned int) thread3.getThread());
printf("thread4 (not created yet) thread name=\"%s\", OS handle=%lu, OS pointer=0x%x\n", thread4.getThreadName(), thread4.getOSThread(), (unsigned int) thread4.getThread());
if(ArThread::getThisOSThread() == thread1.getOSThread() ||
ArThread::getThisOSThread() == thread2.getOSThread() ||
ArThread::getThisOSThread() == thread3.getOSThread() ||
ArThread::getThisOSThread() == thread4.getOSThread() ||
thread1.getOSThread() == thread2.getOSThread() ||
thread1.getOSThread() == thread3.getOSThread() ||
thread1.getOSThread() == thread4.getOSThread() ||
thread2.getOSThread() == thread1.getOSThread() ||
thread2.getOSThread() == thread3.getOSThread() ||
thread2.getOSThread() == thread4.getOSThread() ||
thread3.getOSThread() == thread1.getOSThread() ||
thread3.getOSThread() == thread2.getOSThread() ||
thread3.getOSThread() == thread4.getOSThread() ||
thread4.getOSThread() == thread1.getOSThread() ||
thread4.getOSThread() == thread2.getOSThread() ||
thread4.getOSThread() == thread3.getOSThread() )
{
puts("error, some thread IDs are the same!");
return 5;
}
thread4.runInThisThread();
Aria::shutdown();
return(0);
}