摘要:
五个哲学家吃五盘通心粉,由于通心粉很滑,所以必须要拿起左右两边的叉子才能吃到。 叉子的摆放如图所示。 那么问题来了:能为每一个哲学家写一段描述其行为的程序,保证不会出现死锁。 解法1:让他等待能够使用的时候,然后去叉子用餐 这种方法很显然行不通,如果所有人都去拿左边的叉子,就没有人能够拿到右边的叉子 阅读全文
摘要:
高并发网络编程的性能测试一直是个非常难的问题 困难点: 1 纯网络性能测试会把业务逻辑最小化,需要一定的改造。 2测试虚要给服务器足够的压力,这样对于测试用的客户端的QPS就有较高的要求 解决方案, 1 将业务逻辑跟网络框架拆分 2 我们可以开启多个实例 我们用来测试的代码库就是https://ww 阅读全文
摘要:
监控系统之数据存储 关于监控数据的存储问题,是一个典型的大数据存储的例子, 系统设计的时候的一个很重要的的工作的就是容量规划 至少有如下几点需要严谨的测算 1 整个系统需要面临的流量压力: QPS ,网络流量等 2 需要存储的数据量:每天新增的数据量,稳定的总数据量 3 最常用的查询方式 进而需要根 阅读全文
摘要:
【长连接短链接】 长连接,在 阅读全文
摘要:
1.什么是pdb? pdb是python提供的调试程序的一种工具。 2.为什么需要pdb模块? 当我们的程序越写越大的时候,我们用print xxx 这种方式打断点,调试,非常不方便,这个时候我们需要专业的调试工具 3 如何使用pdb模块? 我们写了这样一个程序,在行首import了pdb模块 然后 阅读全文
摘要:
【01】什么是epool: 当互联网的用户越来越多的时候,人们发现传统的网络io模型,扛不住用户的高并发请求的时候。各个操作系统给出了自己对应的答案, 而linux给出的答案是epool。epool是系统的一个接口,它无须遍历整个被侦听的描述符集,只要遍历那些被内核IO事件异步唤醒而加入Ready 阅读全文
摘要:
假如你有图中三个盒子,我们有代号为 1,4,5,12 这四样东西 那根据代号作为主键,将东西放到盒子了,该如何放置? 我们可以对代号取模 1 mod 3 = 1 4 mod 3 = 1 5 mod 3 = 2 12mod 3 = 0 这样的话 大家就可以分配好到对应到盒子里 代码如上 但是如果现在加 阅读全文
摘要:
冒泡排序 用每个元素和其余元素做对比,把较小的一个元素放到前面。 我们如果有10个数字,那么就要算 10 * 10 次 则是 10^2 也就是n^2 算法复杂度是 O(n^2) 阅读全文
摘要:
【01 入门】 docker 最核心为三部分组成 镜像,仓库和容器 镜像:一个只读的模板 仓库:代码仓库,镜像的集合 容器:镜像的实例化进程 我们可以这样理解 容器就是一个沙箱,docker利用容器运行和隔离应用,每个容器之间都是彼此独立的 第一次使用docker [1]查看版本 docker 由客 阅读全文
摘要:
1>C语言提供两大系列的多种数据类型 其中c语言支持float 也就是浮点数 也就是小数 这里答应的%0.2f表示保留小数点后两位 2>常量和变量 在我们写代码过程中 需要对值进行操作 为了完成这个功能我们需要有数据来承载这些数字和字符,而在程序执行过程中没有变化的称之为常量,而在程序可能会被改变或 阅读全文