/**
* @brief 创建信号量
*/
-( void )createSemaphore {
semaphore = dispatch_semaphore_create ( 0 );
}
/**
* @brief 等待信号-1, 大于0才开始运行
*/
-( void )wait {
// dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER);// 一直等
dispatch_semaphore_wait ( semaphore , dispatch_time ( DISPATCH_TIME_NOW , 10 * NSEC_PER_SEC )); // 等待 10 秒超时,会自动 发送一个信号
}
/**
* @brief 发送一个信号+1
*/
-( void )notify {
dispatch_semaphore_signal ( semaphore ) ;
}
/**
* @brief 等待信号
/**
* @brief 发送一个信号
* @brief 创建信号量
*/
-( void )createSemaphore {
semaphore = dispatch_semaphore_create ( 0 );
}
/**
* @brief 等待信号-1, 大于0才开始运行
*/
-( void )wait {
// dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER);// 一直等
dispatch_semaphore_wait ( semaphore , dispatch_time ( DISPATCH_TIME_NOW , 10 * NSEC_PER_SEC )); // 等待 10 秒超时,会自动 发送一个信号
}
/**
* @brief 发送一个信号+1
*/
-( void )notify {
dispatch_semaphore_signal ( semaphore ) ;
}
Android
:
CountDownLatch
* @brief 等待信号
*/
await();//
等待计数器为
0才开始运行
* @brief 发送一个信号
*/
countDown();//
让计数器减1