4-22 学习心得

ARC 只能作用于 Objective-C 对象

1.sleep(unsigned int);

该函数给当前线程挂起给定时间(unsigned int)秒后继续执行下一句。(使程序睡眠)

例如:

int main(int argc, const char * argv[]) {

@autoreleasepool {

int i = 10;

NSLog(@"开始阻塞了");

dispatch_queue_t queue = dispatch_queue_create("lmp", nil);

dispatch_sync(queue, ^{

NSLog(@"&&&&&&&");

sleep(i / 5);

NSLog(@"----%d----",i);

});

// ARC模式不需要这句,没开的就要写上

//        dispatch_release(queue);

NSLog(@"阻塞了两秒");

}

return 0;

}

打印结果:

2015-04-22 14:03:14.229 学习-多线程[1255:47112] 开始阻塞了

2015-04-22 14:03:14.230 学习-多线程[1255:47112] &&&&&&&

2015-04-22 14:03:16.231 学习-多线程[1255:47112] ----10----

2015-04-22 14:03:16.231 学习-多线程[1255:47112] 阻塞了两秒

2. dispatch_semaphore 信号量基于计数器的一种多线程同步机制

// 创建

dispatch_semaphore_t semaphore = dispatch_semaphore_create(1);

dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER);

semaphore计数大于等于1:程序继续运行

计数-1:返回

计数为0:等待

DISPATCH_TIME_FOREVER:一直等待

时间: 2024-07-31 10:29:14

4-22 学习心得的相关文章

C++用法的学习心得

c++这门课,在我刚进入大学的就已经开始接触了.因为自己的专业就是计算机科学,因此c++嘛,对于我来说还是比较重要的.不同于其他专业,一开始我接触就是c++了,跳过了c语言一类的课.就我自己认为,c++这课学起来还是很有难度的.大一上课的时候,老师就说过这课在生活中的应用很广泛.处于初学者的我,开始给我的感觉就是很是乏味枯燥,提不起兴趣.不过仔细想想自己的专业就是和它有关,就算将来自己不从事这个行业,还是很有学习它的必要.因为多一门技术总归是不会吃亏的. 作为男生嘛,自己没有少玩游戏.很多人玩游

学习心得------C语言复杂数据类型

---恢复内容开始--- 在学习c语言的过程中,最复杂的知识便是标题中的复杂数据类型了,因为包括了数组,字符串,指针等多种数据类型,在这一环节中,我们不免要接触到内存,分析出该数据类型的在内存中的存储方法,就可以比较明确的认识到该类型的运行原理,下面就分析一下我在学习该视频中的学习心得吧. 一.数组 1.数组,从字面上看,就是一组数据的意思,是的,数组的作用就是用来存储一组数据的.数组的特点是只能存放同一类型的数据,比如int 比如double. 2.数组的格式,元素类型 数组名[元素个数]  

jquery validate学习心得

据说,javascript最初的由来就是为了解决表单的验证问题,当然现在的js已经能够用来做各种各样炫酷的效果,不过表单验证一直以来都是js很重要的一个用途(在博客园第一篇博客,不知道说些什么开头~~). 最近刚刚接触到了一个简答易用的表单验证插件jquery validation,下面来分享下这几天收集到的一些资料与学习心得. 一个优秀的表单验证插件:      作为受众多web开发者追捧的validation,它理应拥有如下各种优点: 1.内置验证规则:拥有必填,url,数字,email等1

我的MYSQL学习心得(六)

我的MYSQL学习心得(六) 我的MYSQL学习心得(一) 我的MYSQL学习心得(二) 我的MYSQL学习心得(三) 我的MYSQL学习心得(四) 我的MYSQL学习心得(五) 这一节主要介绍MYSQL里的函数,MYSQL里的函数很多,我这里主要介绍MYSQL里有而SQLSERVER没有的函数 数学函数 1.求余函数MOD(X,Y) MOD(X,Y)返回x被y除后的余数,MOD()对于带有小数部分的数值也起作用,他返回除法运算后的精确余数 SELECT MOD(31,8) 2.四舍五入函数TR

我的MYSQL学习心得(十五)

我的MYSQL学习心得(十五) 我的MYSQL学习心得(一) 我的MYSQL学习心得(二) 我的MYSQL学习心得(三) 我的MYSQL学习心得(四) 我的MYSQL学习心得(五) 我的MYSQL学习心得(六) 我的MYSQL学习心得(七) 我的MYSQL学习心得(八) 我的MYSQL学习心得(九) 我的MYSQL学习心得(十) 我的MYSQL学习心得(十一) 我的MYSQL学习心得(十二) 我的MYSQL学习心得(十三) 我的MYSQL学习心得(十四) 这一篇<我的MYSQL学习心得(十五)>

我的MYSQL学习心得(十四)

我的MYSQL学习心得(十四) 我的MYSQL学习心得(一) 我的MYSQL学习心得(二) 我的MYSQL学习心得(三) 我的MYSQL学习心得(四) 我的MYSQL学习心得(五) 我的MYSQL学习心得(六) 我的MYSQL学习心得(七) 我的MYSQL学习心得(八) 我的MYSQL学习心得(九) 我的MYSQL学习心得(十) 我的MYSQL学习心得(十一) 我的MYSQL学习心得(十二) 我的MYSQL学习心得(十三) 这一篇<我的MYSQL学习心得(十四)>将会讲解MYSQL的备份和恢复

SVG学习心得

在前端开发的过程中,为了界面的美观,会用到很多好看但无法纯利用HTML和CSS实现的图形(对于大佬们这就不算事了,但对于我这个刚入行的后生就难了),如下面的几个图形,如果不用美工妹妹的PS图片,我个人觉得是比较难实现的: 以上的图形利用纯HTML和CSS是比较难实现的,幸好前段时间刚好看到有篇关于SVG的实例讲解,学习了一下SVG,下面是我的学习心得(这是我第一次写博客,写的不好多多见谅) 1.什么是SVG?(这里引用w3school的定义) SVG 指可伸缩矢量图形 (Scalable Vec

1-1SBO学习心得(存储过程应用)

SBO_SP_TransactionNotification这个存储过程主要应用于页面操作(数据库操作)的放行和阻止.当返回0时放行(commit),当返回1时阻止(回滚). -- ADD YOUR CODE HERE if @object_type='22' and @transaction_type in ('A','U') /*开始-判定是否超过价格清单中的价格*/ BEGIN declare @visorder nvarchar set @visorder=(select top 1 T

黑马程序员——oc语言学习心得----NSFileManager

黑马程序员——oc语言学习心得----NSFileManager -------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 自己总结了下NSFileManager的简单几个用法 : // 首先要创建文件管理器 NSFileManager *fm=[NSFileManager defaultManager]; 1,判断文件是否存在 fileExistsAtPath: 2,判断文件是否是目录 fileExistsAtPath: 3, 判断文件是否可读

3-0SBO学习心得(格式化搜索和存储过程的综合应用)

功能: (1)采购订单中每行的物料税后折后价格均不能高于为供应商预设的价格,否则报错. 实现:存储过程 (2)例外情况,如货源紧张可能出现超价格采购,此种情况可通过审批来跳过(1)的控制.(让存储过程失效) 实现:加入一个自定义字段(1:送审:-1不送审).存储过程发现此字段取值为1表明为例外采购,即将送领导审批:取值为-1则表示不是例外采购,控制启动. (3)判断自定义字段的值,如果1就触发领导审批,-1不触发领导审批. 实现:格式化搜索可以抓到此字段的值,然后在查询向导中写逻辑.如果1返回t