随笔分类 -  并发编程

摘要: 阅读全文
posted @ 2017-02-05 12:49 blcblc 阅读(376) 评论(0) 推荐(0) 编辑
摘要:shmget函数用于创建或打开一个共享内存区对象,shmget成功调用会返回一个共享内存区的标识符,供其它的共享内存区操作函数使用。 key:用于创建共享内存区的键值,这个在前面其他System IPC创建的时候已经讨论过了,System IPC都有一个key,作为IPC的外部标识符,创建成功后返回 阅读全文
posted @ 2017-02-05 12:46 blcblc 阅读(407) 评论(0) 推荐(0) 编辑
摘要:关于效率的优化: 阅读全文
posted @ 2017-02-04 16:20 blcblc 阅读(248) 评论(0) 推荐(0) 编辑
摘要:分布式存储的应用场景相对于其存储接口,现在流行分为三种: 对象存储: 也就是通常意义的键值存储,其接口就是简单的GET、PUT、DEL和其他扩展,如七牛、又拍、Swift、S3 块存储: 这种接口通常以QEMU Driver或者Kernel Module的方式存在,这种接口需要实现Linux的Blo 阅读全文
posted @ 2017-02-04 00:02 blcblc 阅读(1132) 评论(0) 推荐(0) 编辑
摘要:http://blog.chinaunix.net/uid-16723279-id-3803058.html 《两阶段提交协议与paxos投票算法》 点评:2PC绝对是CP的死党,是分布式情况下强一致性算法,因此缺点也是很明显的, 单点coordinator是个严重问题: 没有热备机制,coordi 阅读全文
posted @ 2017-01-24 00:03 blcblc 阅读(1627) 评论(0) 推荐(0) 编辑
摘要:协程诞生解决的是低速IO和高速的CPU的协调问题,解决这类问题主要有三个有效途径: 异步非阻塞网络编程(libevent、libev、redis、Nginx、memcached这类) 协程(golang、gevent) “轻量级线程”,相当于是在语言层面做抽象(Erlang) 对比之下协程的编程难度 阅读全文
posted @ 2017-01-22 23:05 blcblc 阅读(300) 评论(0) 推荐(0) 编辑
摘要:第七篇 CAP https://zhuanlan.zhihu.com/p/20399316?refer=auxten CAP定理(CAP theorem),又被称作布鲁尔定理(Brewer’s theorem),它指出对于一个分布式计算系统来说,不可能同时满足以下三点: 一致性 (Consisten 阅读全文
posted @ 2017-01-22 22:05 blcblc 阅读(692) 评论(0) 推荐(0) 编辑
摘要:接上一篇 http://www.cnblogs.com/charlesblc/p/6241926.html 来源: https://zhuanlan.zhihu.com/p/20204159 (一):演进——从Apache到Nginx 网上关于Apache和Nginx性能比较的文章非常多,基本上有如 阅读全文
posted @ 2017-01-22 19:24 blcblc 阅读(1524) 评论(0) 推荐(0) 编辑
摘要:之前有一篇文章,说了RPC的内容: http://www.cnblogs.com/charlesblc/p/6214391.html 如果有一种方式能让我们像调用本地服务一样调用远程服务,而让调用者对网络通信这些细节透明,那么将大大提高生产力,比如服务消费方在执行helloWorldService. 阅读全文
posted @ 2017-01-16 17:18 blcblc 阅读(259) 评论(0) 推荐(0) 编辑
摘要:可以参考这篇文章: http://blog.csdn.net/whycold/article/details/47702133 两阶段提交保证了分布式事务的原子性,这些子事务要么都做,要么都不做。 而数据库的一致性是由数据库的完整性约束实现的,持久性则是通过commit日志来实现的,不是由两阶段提交 阅读全文
posted @ 2017-01-16 13:51 blcblc 阅读(1386) 评论(1) 推荐(1) 编辑
摘要:之前有一篇文章描述过一些对比: http://www.cnblogs.com/charlesblc/p/6078029.html 这里在代码和应用方面再说一下。 看一下两边的Helloworld基本就了解个大概。 libevent的hello world 上面Libevent最基本的事件驱动器是 e 阅读全文
posted @ 2017-01-15 09:55 blcblc 阅读(2212) 评论(0) 推荐(0) 编辑
摘要:参考 http://www.infoq.com/cn/articles/netty-high-performance 高性能的三个主题 1) 传输:用什么样的通道将数据发送给对方,BIO、NIO或者AIO,IO模型在很大程度上决定了框架的性能。 2) 协议:采用什么样的通信协议,HTTP或者内部私有 阅读全文
posted @ 2017-01-15 01:19 blcblc 阅读(268) 评论(0) 推荐(0) 编辑
摘要:这个里面讲了区块链的内容: http://www.cnblogs.com/charlesblc/p/6272785.html 今天和老婆讨论的时候,发现了一些细节需要进一步了解,所以看了些文章。下面几篇讲的很好: 《比特币私钥、公钥、钱包地址之间的关系》 讲了比特币交易的过程,基本就懂了(尤其是防止 阅读全文
posted @ 2017-01-14 23:36 blcblc 阅读(1478) 评论(0) 推荐(0) 编辑
摘要:概念太多了,信号,软中断,中断等等。试着做总结。 下面这个里面主要讲了硬件中断: http://www.cnblogs.com/charlesblc/p/6261741.html 下面这个里面主要讲了软中断,硬中断: http://www.cnblogs.com/charlesblc/p/62632 阅读全文
posted @ 2017-01-12 13:24 blcblc 阅读(7033) 评论(0) 推荐(2) 编辑
摘要:上一篇讲了拜占庭将军问题,讲的比较清晰: http://www.cnblogs.com/charlesblc/p/6271472.html 而上一篇也提到了,区块链技术比较好的解决了这个问题,而比特币就是基于区块链的。 先用这一篇科普:http://blog.sina.com.cn/s/blog_6 阅读全文
posted @ 2017-01-11 11:04 blcblc 阅读(6063) 评论(3) 推荐(0) 编辑
摘要:下面这篇文章,感觉讲的非常好: http://www.8btc.com/baizhantingjiangjun 拜占庭将军问题是一个共识问题: 首先由Leslie Lamport与另外两人在1982年提出,被称为The Byzantine Generals Problem或者Byzantine Fa 阅读全文
posted @ 2017-01-11 00:29 blcblc 阅读(14127) 评论(2) 推荐(1) 编辑
摘要:参考这篇文章 http://blog.chinaunix.net/uid-27761170-id-5050258.html 代码如下: 这段代码将使myfun线程在所有cpu中依次执行一段时间,在我的四核cpu上,执行结果为 : system has 4 processor(s) thread 10 阅读全文
posted @ 2017-01-09 00:50 blcblc 阅读(1789) 评论(0) 推荐(0) 编辑
摘要:参考了这篇文章:http://blog.csdn.net/zhangskd/article/details/21992933 从本质上来讲,中断是一种电信号,当设备有某种事件发生时,它就会产生中断,通过总线把电信号发送给中断控制器(如 8259A)。 如果中断的线是激活的,中断控制器就把电信号发送给 阅读全文
posted @ 2017-01-08 23:32 blcblc 阅读(9056) 评论(0) 推荐(2) 编辑
摘要:参考这篇文章: http://www.cnblogs.com/coding-my-life/p/4782529.html 在linux下,每个进程都有自己的signal mask,这个信号掩码指定哪个信号被阻塞,哪个不会被阻塞,通常用调用sigmask来处理。同时每个进程还有自己的signal ac 阅读全文
posted @ 2017-01-08 23:16 blcblc 阅读(653) 评论(0) 推荐(0) 编辑
摘要:内核信号处理参考: http://www.spongeliu.com/165.html 信号本质上是在软件层次上对中断机制的一种模拟(注意区分中断、异常、信号),其主要有以下几种来源: 目前Linux支持64种信号。信号分为非实时信号(不可靠信号)和实时信号(可靠信号)两种类型,对应于 Linux 阅读全文
posted @ 2017-01-08 23:06 blcblc 阅读(1703) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示