多线程主要作用是充分利用Cpu,而不在于它的乱序性。本Demo不讲它竞争什么的、之前看过乱序打印ABC的例子什么的,那些有意义吗?
本Demo 是多线程打印文件夹下的文件,主要实现是用数组存放文件,一个游标遍历。
我们需要考虑在什么时候加互斥访问,本例用synchronized .
先考虑单线程的流程:客户端启动-->读取文件下的文件放到数组(IO)--> 取游标打印 ,游标加1...
分类:
编程语言 时间:
2014-08-06 19:25:02
阅读次数:
314
一.前言1.编译器优化介绍:由 于内存访问速度远不及CPU处理速度,为提高机器整体性能,在硬件上引入硬件高速缓存Cache,加速对内存的访问。另外在现代CPU中指令的执行并不一 定严格按照顺序执行,没有相关性的指令可以乱序执行,以充分利用CPU的指令流水线,提高执行速度。以上是硬件级别的优化。再看软...
分类:
编程语言 时间:
2014-08-02 15:25:23
阅读次数:
242
一.前言1.编译器优化介绍:由于内存訪问速度远不及CPU处理速度,为提高机器总体性能,在硬件上引入硬件快速缓存Cache,加速对内存的訪问。另外在现代CPU中指令的运行并不一定严格依照顺序运行,没有相关性的指令能够乱序运行,以充分利用CPU的指令流水线,提高运行速度。以上是硬件级别的优化。再看软件一...
分类:
编程语言 时间:
2014-07-28 14:45:43
阅读次数:
288
先说下思路: 1、先遍历数组,将正负数的个数求出来,当然,如果存在零值,也需要求出个数来 2、根据之前求出的个数分别申请两个数组,用来存放正负数 3、再次遍历数组,将正负数放进第二步申请的两个数组中,零值需要排除在外 4、将第三步得到的两个数组再填回原始数组(也可以再申请一个数组存放结果) ...
分类:
其他好文 时间:
2014-07-16 20:20:49
阅读次数:
263
目录1. Singleton示例2. volatile解决问题1:CPU缓存3. volatile解决问题2:编译器优化(指令乱序)一. 标准的单例模式示例```csharppublic sealed class Singleton{ // 静态实例 private static vol...
分类:
其他好文 时间:
2014-07-12 15:44:46
阅读次数:
459
如何从文件中随即选取1000行内容呢?我们可以使用shuf命令shuf [file] | head -n 1000其中,shuf会读取file中的内容,并生成乱序的排列,进而使用head命令,取出前1000行
分类:
其他好文 时间:
2014-07-11 19:48:35
阅读次数:
229
##**关于乱序**首先需要明确一个很普遍,但却未必人人都注意到的事实:程序并不总是按照源码中的顺序被执行的,此谓之乱序,乱序产生的原因可能有好几种:1. 编译器出于优化的目的,在编译阶段将源码的顺序进行交换。2. 程序执行期间,指令流水被 cpu 乱序执行。3. cache 的分层及刷新策略使得有...
分类:
编程语言 时间:
2014-07-07 14:46:35
阅读次数:
238
一.前言1.编译器优化介绍:由于内存訪问速度远不及CPU处理速度,为提高机器总体性能,在硬件上引入硬件快速缓存Cache,加速对内存的訪问。另外在现代CPU中指令的运行并不一定严格依照顺序运行,没有相关性的指令能够乱序运行,以充分利用CPU的指令流水线,提高运行速度。以上是硬件级别的优化。再看软件一...
分类:
编程语言 时间:
2014-06-27 18:34:21
阅读次数:
209
一.前言1.编译器优化介绍:由于内存訪问速度远不及CPU处理速度,为提高机器总体性能,在硬件上引入硬件快速缓存Cache,加速对内存的訪问。另外在现代CPU中指令的运行并不一定严格依照顺序运行,没有相关性的指令能够乱序运行,以充分利用CPU的指令流水线,提高运行速度。以上是硬件级别的优化。再看软件一...
分类:
编程语言 时间:
2014-06-23 00:57:11
阅读次数:
258
一直在寻找一种可以简单方便而富有成效的检测学生对内容了解情况的方法。当然可以使用学校购买的Blackboard平台(简称BB平台),现在推荐一种比较容易的办法,适合不同用户使用。
测试问卷星的在线测评/测试(欢迎大家点击测试、使用)
可以考察与BB平台之间的差异与有效性。问卷星优点:可以乱序出题,迅速了解学生的整体了解程度,下学期可以测试试用一下。结合哈佛大学的...
分类:
其他好文 时间:
2014-06-22 00:11:56
阅读次数:
234