一、并行、多线程 1、计算机中的并行有两种方式:任务切换、利用多处理器多核。 纯粹的任务切换: 纯粹的多处理器多核: 任务切换与多处理器多核结合: 实际应用中是“任务切换与多处理器多核结合”方式,首先现在硬件偏移单处理器单核淘汰“纯粹的任务切换”已不在,“纯粹的多处理器多核”每个核分配一个进程(线程 ...
分类:
编程语言 时间:
2016-05-11 21:31:16
阅读次数:
178
? 贴靠窗口:Win +左/右> Win +上/下>窗口可以变为1/4大小放置在屏幕4个角落 ? 切换窗口:Alt + Tab(不是新的,但任务切换界面改进) ? 任务视图:Win + Tab(松开键盘界面不会消失) ? 创建新的虚拟桌面:Win + Ctrl + D ? 关闭当前虚拟桌面:Win ...
第一章:你好 c++的并发世界 1.何为并发 最简单和最基本的并发,是指两个或两个以上的独立活动同时进行。 对于单个处理单元或者核心,这种机器只能在某一时刻执行一个任务,不够它可以每秒进行多次的任务切换。这种叫做任务切换 2.并发的途径 2.1 多进程 独立的进程可以通过进程间通信渠道传递讯息(信号 ...
分类:
编程语言 时间:
2016-04-14 09:27:48
阅读次数:
190
IDT是处理异常,实现操作系统与CPU的交互的关口。 系统在初始化阶段会去填写这个结构。 IDT的每一个表项都成为门描述符,因为IDT的功能就像大门一样,从一个空间跳到另一个空间去执行。 IDT中包含三种门描述符 任务门描述符:用于任务切换 中断门描述符:用于描述中断处理例程 陷阱们描述符:用于描述 ...
Handler的主要作用是将一个任务切换到某个指定的线程去执行。 Android的消息机制主要涉及三个类:Handler, Looper, MessageQueue: 现在假设一个情景: 有两个线程,线程1和线程2,在线程1中调用Looper.prepare(), 创建一个Handler对象hand ...
分类:
移动开发 时间:
2016-03-30 16:24:22
阅读次数:
198
属性-乱七八糟常见属性解释android:allowTaskReparenting 是否允许activity更换从属的任务,比如从短信息任务 切换到浏览器任务。android:alwaysRetainTaskState 是否保留状态不变, 比如切换回home, 再从新打开, activity处于最后...
分类:
其他好文 时间:
2016-03-19 08:50:25
阅读次数:
143
先了解下如何使用PendSV异常。(为何要使用PendSV而不是其他的异常,请参考《cortex-M3权威指南》)1,如何设定PendSV优先级?NVIC_SYSPRI14 EQU 0xE000ED22NVIC_PENDSV_PRI EQU 0xFF LDR R0, =NVIC_SYSPRI14 ....
分类:
其他好文 时间:
2015-10-19 15:20:04
阅读次数:
575
OK,继续向操作系统迈进。由简入繁,先实现两个小功能。第一个是system tick,第二个是任务切换(PendSV)。一个是操作系统的心跳,一个是操作系统的并发处理的具体实现。System tick,在裸机程序里面,这个功能一直是用来做延时功能用的,用STM32做项目,基本都会用到。这里不准备再从...
分类:
其他好文 时间:
2015-10-12 19:15:55
阅读次数:
314
我们需要一种架构,使得即便高优先级的任务同时运行,也能够区分哪个更加优先。借助几个struct TASKCTL:
这种架构的工作原理是,最上层的LEVEL 0中只要存在哪怕一个任务,则完全忽略LEVEL 1 和 LEVEL 2中的任务,只在LEVEL 0的任务中进行任务切换。
音乐播放任务就可以放在LEVEL 0中,这样就可以保证获得比鼠标更高的优先级。...
分类:
其他好文 时间:
2015-09-12 23:46:54
阅读次数:
359
提到消息机制大家应该都不陌生,在日常开发中不可避免地要涉及到这方面的内容。从开发的角度来说,Handler是Android消息机制的上层接口,这使得开发过程中只需要和Handler交互即可。Handler的使用过程很简单,通过它可以轻松地将一个任务切换到Handler所在的线程中去执行。很多人认为Handler的作用是更新UI,这说的的确没错,但是更新UI仅仅是Handler的一个特殊的使用场景,...
分类:
移动开发 时间:
2015-09-10 22:42:14
阅读次数:
334