UDP(User Datagram Protocol): 基于Intenet IP协议(复用/分用、简单的错误校验) 尽可能的服务(可能丢失、乱序到达) 无连接(不需要握手、每个UDP段独立于其他) 常用于流媒体应用(容忍丢失、速率敏感) UDP用于DNS、SNMP UDP上实现可靠数据传输: 在应 ...
分类:
其他好文 时间:
2018-11-04 22:56:13
阅读次数:
234
目录: 并发基本概念、并发的优势与风险、CPU多级缓存、MESI、乱序执行优化、Java内存模型 并发基本概念: 并发:同时拥有两个或多个线程,如果程序在单核处理器上运行,多个线程将交替地换入或换出内存,这些线程是同时"存在"的。每个线程都将处于执行过程中的某个状态,如果运行在多核处理器上,此时,程 ...
分类:
其他好文 时间:
2018-11-04 19:38:22
阅读次数:
203
假设一个线程为变量赋值:variable = 3; 内存模型需要解决一个问题:“在什么条件下,读取variable的线程将看到这个值为3?” 这看上去理所当然,但是如果缺少内存同步,那么将会有许多因素使得线程无法立即甚至永远,看到另一个线程的操作结果。 如: 1.在编译器中生成的指令顺序,可以与源代 ...
分类:
编程语言 时间:
2018-11-03 15:20:26
阅读次数:
233
衡量一个服务器性能的好坏高低,每秒事务处理数(Transactions Per Second,TPS)是最重要的指标之一,它代表着一秒内服务端平均能响应的请求总数,而TPS值与程序的并发能力又有非常密切的关系。 1、硬件内存模型 在计算机硬件体系中,程序运行过程的临时数据是存放在主存(物理内存)中的 ...
分类:
编程语言 时间:
2018-11-01 15:08:32
阅读次数:
197
qml Loader异步导致ComBoBox数据乱序 当使用Loader动态加载qml文件时, 如果将Loader设置为异步,那么动态加载的组件内的ComBoBox数据将呈现乱序状态, 代码请见下文: 图1 动态加载qml文件 图2 测试用qml文件(带ComboBox) 现象: 图3 首尾交替 从 ...
分类:
其他好文 时间:
2018-10-27 16:40:09
阅读次数:
174
1、冒泡算法 如上排序了50000个乱序的数,耗时0:04:23.190000,性能有点差; 时间复杂度为O(N^2) 2、插入排序 如上排序了50000个乱序的数,耗时 0:01:43,性能一般般; 时间复杂度为:O(n^2/2) 3、归并算法 如上排序了50000个乱序的数,耗时 0:00:00 ...
分类:
编程语言 时间:
2018-10-25 15:39:17
阅读次数:
127
1.1.37糟糕的打乱。假设在我们的乱序代码中你选择的是一个0到N-1而非i到N-1之间的随机整数。证明得到的结果并非均匀地分布在N!种可能性之间。用上一题中的测试检验这个版本。public class ShuffleTest{ public static void main(String[] ar ...
分类:
其他好文 时间:
2018-10-25 12:09:46
阅读次数:
159
1.1.36乱序检查。通过实验检查表1.1.10中乱序代码是否能够产生预期的效果。编写一个程序ShuffleTest,接受命令行参数M和N,将大小为M的数组打乱N次且每次打乱之前都将数组重新初始化为a[i]=i.打印一个MXM的表格,对于所有的列j,行i表示的是i在打乱后落到j的位置的次数。数组中的 ...
分类:
其他好文 时间:
2018-10-25 12:06:03
阅读次数:
161
一、说明 在学C语言的时候就知道可以通过argc获取命令行参数个数,可以通过argv获取具体参数。但自己写的程序获取到的参数一是没有键值形式二是写的参数不能乱序,和系统命令不太一样。 再往后点知道有getopt这个东西,但印象中尝试理解其用法很多次都没什么结果;最近又越来多写程序,再次感觉很有必要掌 ...
分类:
编程语言 时间:
2018-10-16 18:43:12
阅读次数:
239
假设你原来的数据存在变量a中如果,你想从a中随机抽取固定N个数c=randperm(numel(a));b=a(c(1:N));b就是从a中随机抽取的N个数(N应该小于a中元素的总个数) numel(a)获得原来a中元素的个数 c=randperm(numel(a)); 得到一个由1到numel(a ...
分类:
其他好文 时间:
2018-10-15 18:28:42
阅读次数:
835