您的位置:首页 > 移动开发 > Android开发

【IOS+Android】信号量

2013-12-08 15:38 316 查看
/**

 *@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

4000
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息