• 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 是劝告锁, 系统内核不会强制检查锁的状态, 需要在代码中进行文件操作的地方显示检查才能生效. 
  • 相关阅读:
    <Ajax> 四. get请求(验证用户名是否存在)
    <Ajax> 三. 前端和后端通过表单数据交互
    <Ajax> 一. PHP基本使用和基本数据类型
    <Ajax> 二. PHP选择语句和循环语句
    <Bootstrap> 学习笔记八. 导航栏和颁
    <Bootstrap> 学习笔记七. 下拉菜单和标签页
    <Bootstrap> 学习笔记六. 栅格系统使用案例
    <Bootstrap> 学习笔记五. 按钮组的使用
    <Bootstrap> 学习笔记三. 浮动的使用
    <Bootstrap> 学习笔记四. 表单组和输入框组的使用
  • 原文地址:https://www.cnblogs.com/Flysouler-1001/p/5253579.html
Copyright © 2020-2023  润新知