简介 在Go服务中,对于每个请求,都会起一个协程去处理。在处理协程中,也会起很多协程去访问资源,比如数据库,比如RPC,这些协程还需要访问请求维度的一些信息比如说请求方的身份,授权信息等等。当一个请求被取消或者超时的时候,其他所有协程都应该立即被取消以释放资源。 Golang的context包就是用 ...
分类:
其他好文 时间:
2020-04-20 21:16:12
阅读次数:
54
技术一面 基础面试 一面是通过电话直接沟通 go的调度 go struct能不能比较 go defer(for defer) select可以用于什么 context包的用途 client如何实现长连接 主协程如何等其余协程完再操作 slice,len,cap,共享,扩容 map如何顺序读取 实现s ...
分类:
其他好文 时间:
2020-04-18 23:16:25
阅读次数:
195
码云代码仓库:https://gitee.com/tanjiajun/MysqlPool 代码仓库:https://github.com/asbectJ/swoole4.git 前言 在写这篇文章之前,看了好几篇实现连接池的文章,都是写的很不好的。摆明忽略了连接池的很多特性,很多都不具有抗高并发和连 ...
分类:
数据库 时间:
2020-04-17 22:02:57
阅读次数:
75
前言介绍 协程 ,又称为微线程,它是实现多任务的另一种方式,只不过是比线程更小的执行单元。因为它自带CPU的上下文,这样只要在合适的时机,我们可以把一个协程切换到另一个协程。通俗的理解: 在一个线程中的某个函数中,我们可以在任何地方保存当前函数的一些临时变量等信息,然后切换到另外一个函数中执行,注意 ...
分类:
编程语言 时间:
2020-04-17 20:25:31
阅读次数:
96
一、关于服务端(Swoole\Coroutine\Server): 类Swoole\Coroutine\Server是完全协程化实现的,不需要设置事件回调函数。建立连接、接收数据、发送数据、关闭连接都是顺序的,没有异步风格的并发问题;可以动态的开启关闭服务,异步风格的服务在 start() 被调用之 ...
分类:
其他好文 时间:
2020-04-16 00:32:31
阅读次数:
49
一、介绍: 官网是这么定义的:Swoole 是一个 PHP 的 协程 高性能 网络通信引擎,使用 C/C++ 语言编写,提供了多种通信协议的网络服务器和客户端模块。可以方便快速的实现 TCP/UDP服务、高性能Web、WebSocket服务、物联网、实时通讯、游戏、微服务等,使 PHP 不再局限于传 ...
分类:
其他好文 时间:
2020-04-15 00:17:52
阅读次数:
58
线程池实现爬取数据 协程基础 概念部分 代码部分 多任务操作 多任务的异步爬虫 ...
分类:
其他好文 时间:
2020-04-12 22:51:17
阅读次数:
79
直接参考以下实例,采用协程访问三个网站 由于IO操作非常耗时,程序经常会处于等待状态 比如请求多个网页有时候需要等待,gevent可以自动切换协程 遇到阻塞自动切换协程,程序启动时执行monkey.patch_all()解决 # 由于IO操作非常耗时,程序经常会处于等待状态 # 比如请求多个网页有时 ...
分类:
编程语言 时间:
2020-04-12 22:33:34
阅读次数:
106
1.如果存在数据极端,则可以单独处理 需求: 求素数(质数): 只能被 1 和自身整除 1 不是素数 输出 1~100 的素数 程序: def is_sushu(int_num): # 判断输入的数是否为质数 if int_num == 1: return False if int_num == 2 ...
分类:
其他好文 时间:
2020-04-12 18:43:30
阅读次数:
57
描述最近在python中开发一个人工智能调度平台,因为计算侧使用python+tensorflow,调度侧为了语言的异构安全性,也选择了python,就涉及到了一个调度并发性能问题,因为业务需要,需要能达到1000+个qps的业务量需求,对python调度服务的性能有很大挑战。具体的架构如下面所示:补充:架构中使用的python为cpython,解释执行的语言,并非jpython或者pypytho
分类:
编程语言 时间:
2020-04-12 07:51:15
阅读次数:
101