既然涉及到高并发这个概念,就少不了先谈这么几个概念,并发数、多进程、多线程、协程、负载均衡。 操作系统上讲的并发是操作系统上有几个程序在同时执行,而单核CPU在微观上是由CPU调度执行,非同时执行,多核CPU在微观上才是真正的并行。 互联网产品的并发通常是指并发连接数,用户同时访问数量,哪些因素能影 ...
分类:
其他好文 时间:
2018-08-22 01:14:41
阅读次数:
132
js-generator基础(第四周) 看了几个小时generator相关文章,发现里面东西太多,这周想放弃写这篇,转写其他方面的,上次就用了这招,不过没有没有找到其他可写的,最后决定写一篇相当基础的generator generator是什么 generator也是为了解决地狱回调问题的,和上周的 ...
分类:
Web程序 时间:
2018-08-21 01:05:20
阅读次数:
204
协程均处在同一个线程中,可以看做是不同的子程序,因此切换效率更高,并且共享资源串行修改,不需要加锁 因此线程越多,协程的优势越明显。但是由于在一个线程上,因此用一个核,多核的利用需要启多个进程再启相应的协程利用 简单的实现协程的作用 gevent.sleep模拟io切换,转到其他协程,调用顺序#(1 ...
分类:
其他好文 时间:
2018-08-19 22:42:40
阅读次数:
196
一、事件驱动模型 在介绍协程时,遇到IO操作就切换,但什么时候切换回来,怎么确定IO操作结束? 很多程序员可能会考虑使用“线程池”或“连接池”。“线程池”旨在减少创建和销毁线程的频率,其维持一定合理数量的线程,并让空闲的线程重新承担新的执行任务。“连接池”维持连接的缓存池,尽量重用已有的连接、减少创 ...
分类:
编程语言 时间:
2018-08-19 15:41:58
阅读次数:
155
说起线程,无法免俗首先要弄清楚的三个概念就是:进程、线程、协程。OK,那什么是进程,什么是线程,哪协程又是啥东西。进程:进程可以简单的理解为运行在操作系统中的程序,程序时静态代码,进程是动态运行着的代码,程序的运行需要向操作系统申请资源比如内存,文件句柄等,特别强调的是进程申请的资源都是独立的,也就 ...
分类:
编程语言 时间:
2018-08-19 13:03:18
阅读次数:
159
消息认证不能预防的是发送方否认。(消息认证是指通过对消息有关的信息进行加密或签名变换进行的认证,包括消息内容认证(完整性)、消息源和宿认证(身份)及消息的序列和操作时间认证)。 IKE协议主要有Oakley、SKEME、ISAKMP组成(前者为密钥交换协议、后者为Internet安全关联和密钥管理协 ...
分类:
其他好文 时间:
2018-08-16 10:41:29
阅读次数:
151
协程中使用全局变量、局部变量、指针、map、切片等作为参数时需要注意,此变量的值变化问题。 与for 循环,搭配使用更需谨慎。 1,内置函数时直接使用局部变量,未进行参数传递 原因分析: 协程开启时候,可能多个协程拿到的变量i是同一个,这就导致输出结果的不准确。 解决方案: 2,地址传递的参数 分析 ...
分类:
其他好文 时间:
2018-08-12 14:05:39
阅读次数:
126
现在多进程多线程已经是老生常谈了,协程也在最近几年流行起来。python中有协程库gevent,py web框架tornado中也用了gevent封装好的协程。本文主要介绍进程、线程和协程三者之间的区别。 一、概念 1、进程 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进 ...
分类:
编程语言 时间:
2018-08-10 21:20:00
阅读次数:
162
环境准备 Python3.6 pip install Django==2.0.1 pip install celery==4.1.0 pip install eventlet (加入协程支持) 安装erlang和rabbitMQ-server 配置settings.py文件 在settings.py ...
分类:
编程语言 时间:
2018-08-10 17:04:38
阅读次数:
406