随笔分类 -  并发

摘要:https://www.cnblogs.com/catch/p/3176636.html 阅读全文
posted @ 2020-08-06 22:57 大老虎打老虎 阅读(111) 评论(0) 推荐(0) 编辑
摘要:异步读可以使用async_read_some或者async_read等 阅读全文
posted @ 2019-05-29 20:10 大老虎打老虎 阅读(468) 评论(0) 推荐(0) 编辑
摘要:集群构架图 https://blog.csdn.net/a821478424/article/details/50958721 nginx的负载均衡 https://blog.csdn.net/qq_35119422/article/details/81505732 集群架构及常见集群特性 http 阅读全文
posted @ 2019-05-14 20:55 大老虎打老虎 阅读(173) 评论(0) 推荐(0) 编辑
摘要:gRPC服务发现&负载均衡 https://segmentfault.com/a/1190000008672912?utm_source=tag-newest GRPC编程指南 gRPC 介绍 gRPC 是谷歌开源的高性能 RPC 框架。RPC 也即远程方法调用,对于 RPC client 来说,它 阅读全文
posted @ 2019-05-14 00:15 大老虎打老虎 阅读(2007) 评论(0) 推荐(0) 编辑
摘要:在生产者-消费者模式中,我们常常会使用到队列,这个队列在多个线程共享访问时存在互斥和竞争操作, 意味着每次访问都要加锁。如何更好的如何减少锁竞争次数呢 ?今天要介绍的双缓冲队列就是个不错的选择。 双缓冲队列就是冲着同步/互斥的开销来的。我们知道,在多个线程并发访问同一个资源的时候,需要特别注意线程的 阅读全文
posted @ 2019-04-21 13:38 大老虎打老虎 阅读(1313) 评论(0) 推荐(0) 编辑
摘要:看个例子 如图所示,程序会崩溃,分析了是因为两个线程都在编辑变量t,子线程调用t时主线程不一定赋值已经完成,就会造成空指针的操作,加锁可避免这种问题 附一个别人遇到的问题 阅读全文
posted @ 2019-04-21 12:15 大老虎打老虎 阅读(4942) 评论(0) 推荐(0) 编辑
摘要:多线程操作全局变量,必须考虑同步问题,否则可能出现数据不一致, 甚至触发coredump. 前段时间, 遇到一个多线程操作了全局的vector的问题, 程序崩了。场景是这样的:某全局配置参数保存在一个vector中,需要定时更新(更新线程), 另外的工作线程去读取配置。 这种场景是非常普遍的。 在该 阅读全文
posted @ 2019-04-16 10:25 大老虎打老虎 阅读(4489) 评论(0) 推荐(0) 编辑
摘要:学习libevent有助于提升程序设计功力,除了网络程序设计方面外,libevent的代码里有很多有用的设计技巧和基础数据结构,比如信息隐藏、函数指针、c语言的多态支持、链表和堆等等,都有助于提升自身的程序功力。 程序设计不止要了解框架,很多细节之处恰恰也是事关整个系统成败的关键。只对libeven 阅读全文
posted @ 2019-04-02 10:05 大老虎打老虎 阅读(2727) 评论(0) 推荐(0) 编辑
摘要:偶尔讨论到了socket发送数据时是否应该加锁的问题,就在网上查了一下,下面是大神陈硕的答案 对于 UDP,多线程读写同一个 socket 不用加锁,不过更好的做法是每个线程有自己的 socket,避免 contention,可以用 SO_REUSEPORT 来实现这一点。 对于 TCP,通常多线程 阅读全文
posted @ 2019-03-26 10:27 大老虎打老虎 阅读(4930) 评论(0) 推荐(0) 编辑
摘要:项目中的传统架构在服务启动时 读取数据库的大部分数据到本地内存,在看到redis的作用时发出疑问,到底有什么样的区别以及怎么选择呢,下面是别人的回答 使用本地缓存快还是使用redis缓存好? Redis早已家喻户晓,其性能自不必多说。 但是总有些时候,我们想把性能再提升一点,想着redis是个远程服 阅读全文
posted @ 2019-03-22 10:49 大老虎打老虎 阅读(5315) 评论(0) 推荐(0) 编辑
摘要:1.选择(select)模型:选择模型:通过一个fd_set集合管理套接字,在满足套接字需求后,通知套接字。让套接字进行工作。 选择模型的核心是FD_SET集合和select函数。通过该函数,我们可以们判断套接字上是否存在数据,或者能否向一个套接字写入数据。 用途:如果我们想接受多个SOCKET的数 阅读全文
posted @ 2019-03-14 10:03 大老虎打老虎 阅读(1681) 评论(0) 推荐(0) 编辑
摘要:今天看到一个文章,客户端的connect在服务端调用accept之前,突然想到这可以建立正常的连接么?以前从没细细的思考过listen accept connect之前的关系,带着疑问学习了一下,记录 先把结论亮出来 accept的功能并不是建立连接,而是从当前连接的等待队列中获取一条连接所以即使不 阅读全文
posted @ 2019-03-12 10:03 大老虎打老虎 阅读(2543) 评论(0) 推荐(0) 编辑
摘要:原文地址http://www.cnblogs.com/lojunren/p/3856290.html 前言 I/O多路复用有很多种实现。在linux上,2.4内核前主要是select和poll,自Linux 2.6内核正式引入epoll以来,epoll已经成为了目前实现高性能网络服务器的必备技术。尽 阅读全文
posted @ 2018-11-22 23:36 大老虎打老虎 阅读(586) 评论(0) 推荐(0) 编辑
摘要:自旋锁(spinlock)与互斥锁(mutex)是并发编程中两个重要的概念。它们的主要作用是:对共享资源加锁以阻止数据的并发访问,从而保证数据一致性。但是它们也有一些不同点。本文主要介绍这些不同点,并说明我们什么时候该用自旋锁,什么时候该用互斥锁。 理论基础 理论上,当一个线程尝试去获取一个互斥锁, 阅读全文
posted @ 2018-09-19 20:26 大老虎打老虎 阅读(1106) 评论(0) 推荐(1) 编辑

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