当前位置: 首页 > news >正文

手机可以建立网站吗高校信息公开网站建设

手机可以建立网站吗,高校信息公开网站建设,山西网站建设运营公司,中国商标交易网一、上下文和并发场合 执行流#xff1a;有开始有结束总体顺序执行的一段代码 又称上下文 应用编程#xff1a;任务上下文 内核编程#xff1a; 任务上下文#xff1a;五状态 可阻塞 a. 应用进程或线程运行在用户空间 b. 应用进程或线程运行在内核空间#xff08;通过调…一、上下文和并发场合 执行流有开始有结束总体顺序执行的一段代码 又称上下文 应用编程任务上下文 内核编程 任务上下文五状态 可阻塞 a. 应用进程或线程运行在用户空间 b. 应用进程或线程运行在内核空间通过调用syscall来间接使用内核空间 c. 内核线程始终在内核空间异常上下文不可阻塞 中断上下文 竞态多任务并行执行时如果在一个时刻同时操作同一个资源会引起资源的错乱这种错乱情形被称为竞态 共享资源可能会被多个任务同时使用的资源 临界区操作共享资源的代码段 为了解决竞态需要提供一种控制机制来避免在同一时刻使用共享资源这种机制被称为并发控制机制 并发控制机制分类 原子操作类忙等待类阻塞类 通用并发控制机制的一般使用套路 /*互斥问题*/ 并发控制机制初始化为可用 P操作临界区V操作/*同步问题*/ //并发控制机制初始化为不可用 //先行方 。。。。。 V操作//后行方 P操作 。。。。。二、中断屏蔽了解 一种同步机制的辅助手段 禁止本cpu中断 使能本cpu中断 local_irq_disable(); local_irq_enable(); local_irq_save(flags); local_irq_restore(flags); 与cpu的中断位相关 local_bh_disable(); local_bh_enable(); 与中断低半部有关关闭、打开软中断 禁止中断 临界区 //临界区代码不能占用太长时间需要很快完成 打开中断 适用场合中断上下文与某任务共享资源时或多个不同优先级的中断上下文间共享资源时 三、原子变量掌握 原子变量存取不可被打断的特殊整型变量 a.设置原子量的值 void atomic_set(atomic_t *v,int i); //设置原子量的值为i atomic_t v ATOMIC_INIT(0); //定义原子变量v并初始化为0 v 10;//错误 b.获取原子量的值 atomic_read(atomic_t *v); //返回原子量的值 c.原子变量加减 void atomic_add(int i,atomic_t *v);//原子变量增加i void atomic_sub(int i,atomic_t *v);//原子变量减少i d.原子变量自增自减 void atomic_inc(atomic_t *v);//原子变量增加1 void atomic_dec(atomic_t *v);//原子变量减少1 e.操作并测试运算后结果为0则返回真否则返回假 int atomic_inc_and_test(atomic_t *v); int atomic_dec_and_test(atomic_t *v); int atomic_sub_and_test(int i,atomic_t *v); 原子位操作方法 a.设置位 void set_bit(nr, void *addr); //设置addr的第nr位为1 b.清除位 void clear_bit(nr , void *addr); //清除addr的第nr位为0 c.改变位 void change_bit(nr , void *addr); //改变addr的第nr位为1 d.测试位 void test_bit(nr , void *addr); //测试addr的第nr位是否为1 适用场合共享资源为单个整型变量的互斥场合 四、自旋锁基于忙等待的并发控制机制 a.定义自旋锁 spinlock_t lock; b.初始化自旋锁 spin_lock_init(spinlock_t *); c.获得自旋锁 spin_lock(spinlock_t *); //成功获得自旋锁立即返回否则自旋在那里直到该自旋锁的保持者释放 spin_trylock(spinlock_t *); //成功获得自旋锁立即返回真否则返回假而不是像上一个那样在原地打转” d.释放自旋锁 spin_unlock(spinlock_t *); #include linux/spinlock.h 定义spinlock_t类型的变量lock spin_lock_init(lock)后才能正常使用spinlockspin_lock(lock); 临界区 spin_unlock(lock);适用场合 异常上下文之间或异常上下文与任务上下文之间共享资源时任务上下文之间且临界区执行时间很短时互斥问题 五、信号量基于阻塞的并发控制机制 a.定义信号量 struct semaphore sem; b.初始化信号量 void sema_init(struct semaphore *sem, int val); c.获得信号量P int down(struct semaphore *sem);//深度睡眠 int down_interruptible(struct semaphore *sem);//浅度睡眠 d.释放信号量V void up(struct semaphore *sem); #include linux/semaphore.h适用场合任务上下文之间且临界区执行时间较长时的互斥或同步问题 六、互斥锁基于阻塞的互斥机制 a.初始化 struct mutex my_mutex; mutex_init(my_mutex); b.获取互斥体 void mutex_lock(struct mutex *lock); c.释放互斥体 void mutex_unlock(struct mutex *lock); 定义对应类型的变量初始化对应变量 P/加锁 临界区 V/解锁 #include linux/mutex.h适用场合任务上下文之间且临界区执行时间较长时的互斥问题 七、选择并发控制机制的原则 不允许睡眠的上下文需要采用忙等待类可以睡眠的上下文可以采用阻塞类。在异常上下文中访问的竞争资源一定采用忙等待类。临界区操作较长的应用建议采用阻塞类临界区很短的操作建议采用忙等待类。中断屏蔽仅在有与中断上下文共享资源时使用。共享资源仅是一个简单整型量时用原子变量
http://www.huolong8.cn/news/420214/

相关文章:

  • 凉山建设机械网站广告投放都有哪些平台
  • 宝安网站建设zrare环球快客外贸软件app下载
  • 男孩子怎么做网站推广vps 建网站 代理
  • 帝国企业网站源码网站建设自适应网站
  • 学做预算有网站吗做网站英文
  • 公司网站建设如何做账网站栏目模版
  • 西安网站建设优化服务公司徐州网站网站建设
  • 辽宁品牌建设促进会 网站南京网站公司
  • 网站制作在哪里的dw做网站怎么替换字体
  • 产品列表型网站模板免费软件app下载大全
  • 佛山响应式网站开发网站接入支付宝需要网站备案吗
  • 小说网站开发设计做网站最好的工具
  • 黄页网站代码局域网建设网站如何访问
  • 徐州新沂网站建设东莞技术支持 骏域网站建设
  • 承德网站开发公司广东建设部网站
  • 松原网站建设那个网站做3d
  • wordpress 双语网站做餐饮网站价格
  • 成都正规集团网站制作维护68设计网站
  • 网站运营优化培训wordpress标签加标题
  • 个人网站建站需要准备什么网站安全建设 需求分析
  • 高校信息化建设网站系统微信psd 网站
  • 做视频网站一般多少钱根据 我司申请 网站建设
  • 广州网站优化方式唐山做网站那家好
  • 东莞企业网站多少钱临汾网站建设电话
  • 画图在什么网站上做兼职wordpress 如何修改网页标题字体
  • 网站流量 次什么做书籍的网站
  • 淘宝店购买网站学校网站建设说明材料
  • 旅游网站建设目标网站分类创业园网站建设
  • 北京市建设资格注册中心网站相亲网站开发与设计报告
  • 网站优化关键词电子书网站建设