iOS 函数积累

头文件: units. h

语法: void usleep(int micro_seconds);

返回值 : 无

内容说明: 本函数可暂时使程序停止执行. 参数micro_seconds 为要暂停的微妙数(us).

说明:

这个函数不能工作在 windows 操作系统中. 用在 Linux 的测试环境下面

参见:usleep() 与 sleep() 类似, 用于延迟挂起进程. 进程被挂起放到 reday queue 中.

一般情况下, 延迟时间数量级是秒 s 的时候, 尽可能使用 sleep() 函数; 如果延迟时间为几十毫秒ms 或者更小的时候, 尽可能使用 usleep() 函数. 这样才能最佳的利用 cpu 时间.

时钟单位换算:

微妙(us:英语 microsecond)

1us = 1/1000000 s;

1s = 1000ms; // 毫秒

1ms = 1000 us; // 微秒

1us = 1000 ns;  // 纳秒

1ns = 1000 ps;  // 皮秒

flock() 函数:

flock() 函数原型: int flock(int fd, int operation);

其中, 参数 fd 表示文件描述符; 参数 operation 指定要进行的锁操作, 该参数的取值有如下几种:

LOCK_SH: 表示要创建一个共享锁, 在任意时间内, 一个文件的共享锁可以被多个进程拥有;

LOCK_EX: 表示创建一个排他锁, 在任意时间内, 一个文件的排它锁只能被一个进程拥有;

LOCK_UN: 表示删除该进程创建的锁;

LOCK_MAND: 它主要是用于共享锁模式强制锁, 它可以与 LOCK_READ 或则 LOCK_WRITE 联合使用, 从而表示是否运行并发的读操作或者并发的写操作.

通常情况下, 如果锁清秋不能被立即满足, 那么系统调用 flock() 会阻塞当前进程. 比如: 进程想要请求一个排它锁, 但此时, 已经有其他进程获得这个锁, 那么该进程将会被阻塞. 如果想要在没有获得这个排它锁的情况下不阻塞该进程, 可以将 LOCK_NB 和 LOCK_SH 或者 LOCK_EX 联合使用, 那么系统就不会阻塞该进程. flock() 所加的锁会对整个文件起作用.

注意:

1. 对于文件的 close() 操作回事文件锁失效;

2. 同理, 进程结束后文件锁失效;

3. flock() 的 LOCK_EX 是劝告锁, 系统内核不会强制检查锁的状态, 需要在代码中进行文件操作的地方显示检查才能生效.

时间: 2024-12-08 21:30:26

iOS 函数积累的相关文章

[iOS]通过JS调用iOS函数时的URL编码问题

在前面的文章:[iOS]在WebApp中如何使用JS调用iOS的函数 中,提到了如何使用JS通过修改URL调用iOS的内部函数. 其中会遇到一个问题,就是编码问题,比如通过URL调用弹窗,在里面写上内容:你好汪海. 那链接大概就是这样的:http://xxx.com#ios?action=alert&param=你好汪海 但是在iOS中接收到的时候会出现中文的乱码: http://xxx.com#ios?action=alert&param=%25E6%2596%2587%25E4 遇到这

python内置函数积累

python中有很多的内置函数,所谓内置函数,就是在python中被自动加载的函数,任何时候都可以用.内置函数,这意味着我们不必为了使用该函数而导入模块.不必做任何操作,Python 就可识别内置函数.在今后的学习中,不断地去学习这些内置函数. getattr(object, name[, default]) 官网上对getattr()函数的说明如下:Return the value of the named attribute of object. name must be a string.

IOS 函数内 autorelease release

在一个有reurn 返回值的函数里 如果申请了一段内存的话(alloc 或者copy) 这个时候不能够release  只能够使用autorelease 在返回到那个被接受到的指针里,由它去进行释放!! 如果是self.obj(或者某些类对应的   SomeClass.obj)这种类型的,就需要把self.去掉(因为这样子的申请出来的内存引用计数会被retain+1了) 如果必须要有类名 SomeClass.   则需要用autorelease! IOS 函数内 autorelease rele

ReactiveCocoa,最受欢迎的iOS函数响应式编程库(2.5版),没有之一!

ReactiveCocoa,最受欢迎的iOS函数响应式编程库(2.5版),没有之一! 简介 项目主页: ReactiveCocoa 实例下载: https://github.com/ios122/ios122 简评: 最受欢迎,最有价值的iOS响应式编程库,没有之一!iOS MVVM模式的完美搭档,更多关于MVVM与ReactiveCocoa的讨论,参考这篇文章: [长篇高能]ReactiveCocoa 和 MVVM 入门 注意: ReactiveCocoa 最新3.0版本,使用Swift重写,

ios 函数取名字乱弹......

其实不怎么喜欢在这里言论特技术的东东,google一下,会有一大堆.嗯,博客记录的主要是自己开发过程中遇到的趣事... 今天偶然听到两个同事在讨论,函数取名字能不能用 setXXX这样子取名. 个人感觉: 挺有意思的一个话题,实际上能,但是要注意一下,因为ios在添加属性 的时候会自己默认的认知 setXXX    getXXX酱紫的函数,如果函数名字命名为setXXX,以后如果ios自己添加了XXX属性,那么就冲突了……到底使用哪一个,就要由ios来裁决了.......

字符串函数积累

1.字符串的整理: trim();函数可以去除字符串开始位置和结束位置的空格. ltrim();只去除左边的:rtrim();只去除右边的. 2.格式化字符串以便显示: nl2br();该函数以字符串作为输入参数,用<br/>标记替换字符串中的换行符\n. 3.为打印输出而格式化字符串: 我们知道echo语句将字符串输出到浏览器,PHP也支持print();它实现的功能与echo相同,但是具有返回值(true或false); printf()和sprintf();还可以实现一些更复杂的格式,p

iOS 快捷键积累

1: option+shift+command+←/→:折叠该文件内所有代码块(方法/函数:{ Methods&Functions }) 2: command + 0  :隐藏/显示左边栏 3: command + option + 0 :隐藏/显示右边栏 4: control + k : 鼠标放在最左边 删除本行 5: option + command + enter 开启.h/.m 文件编译    command + enter 退出.h/.m 只开启一个文件 6: command + m

iOS函数,函数递归

#import <Foundation/Foundation.h> #import "Function.h" int main(int argc, const char * argv[]) { //函数定义 /*返回值类型 函数名(参数1, 参数2, 参数3, 参数4) { 函数体; return 返回值; } */ //函数四种基本类型: //无参无返回值 //实参 到形参的过程是一个拷贝的过程 //函数的值,要哟过对应的数据类型进行接收 //c语言允许函数嵌套调用,不允

IOS函数可变参数

//1.参数类型是NSString类型,后面params是第一个参数,它后面跟着逗号和三个点(固定格式) -(void) test:(NSString*)params,... {     NSString* curStr;     va_list list;     if(params)     {         //1.取得第一个参数的值         NSLog(@"%@", params);                  //2.从第2个参数开始,依此取得所有参数的值