linux 管道通信
摘要:进程通信 进程是系统分配资源的最小单位, 不同进程之间是相互隔离的, Linux常用于进程通信的几种方式有 无名管道 管道是是基于文件描述符的通信方式, 无名管道只能用于具有亲缘关系之间的进程通信. 建立一个管道时 它会创建两个文件描述符, fd[0] 和 fd[1] , 其中 fd[0] 用于读取
阅读全文
linux网络编程
摘要:套接字概述 在Linux中,一切都是文件. Linux 中的网络编程通过socket接口进行, socket是一种特殊的I/0接口, 也是一种文件描述符. 常用的进程之间通信. 下图是使用TCP协议的通信过程 : 三次握手建立连接 四次挥手断开连接 这里通过实现两个例子了解一些常用API的用法, 不
阅读全文
线程同步
摘要:线程同步 多个线程共享相同的内存时, 需要确保每个线程看到的数据视图一致. 如果每个线程的数据在其他线程不会用到, 或者变量是只读的, 这样没有一致性问题. 但是如果多个线程需要共享变量时, 就需要进行线程同步了. 举个例子, 有线程A读取变量并加1, 可分为以下三步: 1.从内存读入变量到寄存器
阅读全文
不用中间变量, 交换两个数
摘要:使用位运算, 利用几个性质 a ^ a = 0 a ^ 0 = a 再来一个
阅读全文
git常用操作
摘要:git是一个分布式版本控制软件, 与cvs, svn最核心的区别是后两者都是集中式 在ubutun安装 : 将当前目录创建为版本库, 这样就可以用git记录文件的改动了. 添加文件到仓库, 如果要添加全部, git add --all. 接下里就可以提交到仓库了 提交到github远程库, name
阅读全文
windows多线程编程
摘要:进程共同实现某个任务或者共享计算机资源, 它们之间存在两种关系: 1.同步关系, 指为了完成任务的进程之间, 因为需要在某些位置协调它们的执行顺序而等待, 传递消息产生的制约关系. 2.互斥关系, 进程间因相互竞争使用独占型资源所产生的制约关系, 如一个进程使用打印机,另一个进程必须等待它使用完后才
阅读全文
版本管理工具svn简介
摘要:svn简介 SVN是一种C/S架构的版本管理软件 , 能够帮助我们保存开发过程中各个文件的所有历史版本, 你因此可以方便的找回软件的任何一个历史状态., 日常开发中经常用到. 安装使用 1. 在 ubuntu下面安装非常简单 完成之后可以 svn --version 查看是否成功 2. 检出文件,
阅读全文