计算机基础知识

2019-01-03
阅读 3 分钟
1.7k
从内核的观点看,进程的目的就是担当分配系统资源(CPU时间、内存等)的基本单位。进程之间是隔离的。有虚拟内存隔离数据访问。对共享资源的并发访问引起内核同步方法。管道、信号、消息队列、共享内存、socket、信号量进程间通讯的难题在于既要保证程序隔离又要保持通讯。而共享内存虽然快,但是麻烦,需要各种锁的配合...

临界区互斥

2018-08-13
阅读 2 分钟
3.7k
在任意时刻turn的取值只能为0或1.因此条件while(turn != X)有且仅有一个会被满足,因而使得一个进程得以访问临界区。(至于turn被谁修改,什么时候修改,都不会对该过程产生不利影响)

查找链表中点

2018-08-12
阅读 3 分钟
1.5k
听说查找中点可以达到O(0.5n) 该方法的实现是: 2个指针从链表的头开始。 一个指针每步+1,一个指针每步+2 然后跑的快的指针到链表尾部的时候,那个慢一点的指针就是中点了 一般的算法是第一次遍历得到长度,第二次遍历取出中点。然后就有人觉得这个方法比传统的遍历2次更优。 ????首先O(0.5n)和O(1.5n)的这个说法就...

库设计随笔

2018-03-02
阅读 2 分钟
1.4k
一直以来写代码都是拷贝为主,编写为辅。一般都是套用现成框架,自己写一下功能模块。有时候自我感觉良好,写代码也不是多么难的事,不过是把处理流程转换成计算机语言罢了。最近开始自己重头写项目,才发现有那么多烦心事。基本上每个功能都不是什么难事,但是要组装起来还真的费劲。

C++ 模板小技巧

2018-02-28
阅读 1 分钟
3.2k
C++的模板太有魔性了,根本就是一个编译期语言。不过要做到好用,有用,又不产生垃圾代码确实困难。虽然还没领悟到精髓,但是以下几个用法个人感觉还是挺不错的。

WEBRTC 笔记

2017-02-08
阅读 2 分钟
5.2k
它的全称是WEB Real-time communication。一开始我还以为是一种通信技术。这里的communication主要是人与人之间的,所以它解决了在网页视频、音频的播放和获取的问题。它的目标是希望用户之间直接通信,而不是通过服务器来进行交互。简单地说就是在浏览器上实现视频通话,而且最好不需要中央服务器。

PAT 1111. Online Map (30)

2017-02-01
阅读 8 分钟
2.6k
Input our current position and a destination, an online map canrecommend several paths. Now your job is to recommend two paths toyour user: one is the shortest, and the other is the fastest. It isguaranteed that a path exists for any request. Input Specification: Each input file contains one test...

PAT 1110. Complete Binary Tree

2017-01-31
阅读 2 分钟
2.3k
Given a tree, you are supposed to tell if it is a complete binarytree. Input Specification: Each input file contains one test case. For each case, the first linegives a positive integer N (<=20) which is the total number of nodesin the tree -- and hence the nodes are numbered from 0 to N-1. Th...

PAT 题解

2017-01-31
阅读 3 分钟
1.9k
The basic task is simple: given N real numbers, you are supposed tocalculate their average. But what makes it complicated is that some ofthe input numbers might not be legal. A "legal" input is a real numberin [-1000, 1000] and is accurate up to no more than 2 decimal places.When you calculate th...

golang 笔记

2017-01-18
阅读 6 分钟
5.6k
安装所需的命令 go get -u -v github.com/nsf/gocode go get -u -v github.com/rogpeppe/godef go get -u -vgolang.org/x/tools/cmd/guru go get -u -vgolang.org/x/tools/cmd/gorename go get -u -vgolang.org/x/tools/cmd/goimports

emacs diy

2016-08-31
阅读 2 分钟
2.4k
好的插件这里其实因人而异,但是有几个包是所有地方都用的上的。 helm:这是一个功能强大的命令提示框架。支持正则,按下空格后进行二次搜索,左右方向键在历史命令与可用命令间切换。。 比如helm-M-x,功能与原来的M-x一样。但是更加友好方便。如果想开启某项mode又想不起来,如linum-mode:显示行号。先看看有哪些mode...

emacs 进阶:了解命令

2016-08-16
阅读 3 分钟
4.1k
命令组成 由于emacs本身就是emacs lisp编写的,所以在emacs中一个命令其实就是一个函数。 {代码...} 快捷键 命令 说明 M-! shell-command 使用系统shell 运行命令并输出到buffer "Shell Command Output" M- shell-command-on-region 运行Shell命令并输出到编辑区域 M-x helm-M-x 运行emacs命令 - term 打开buffer"termin...

emacs初体验

2016-08-12
阅读 2 分钟
3.9k
linux下无论是下载开发软件、安装库,还是系统的命令都比window要优秀。 因此使用虚拟机加xmanager可以体验到2个系统无缝切换的快感。