一、线程 1、什么是线程 线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务 2、基本使用 (1)创建线程的两种方式 直接调用(常用) 1 2 3 4 5 6 7 8 ...
分类:
编程语言 时间:
2018-12-14 12:43:58
阅读次数:
237
概念: 协程: (简单来说就是单线程下的并发). 指的是只在同一条线程上能够相互切换多个任务, 遇到IO就切换实际上是我们利用协程提高工作效率的一种工作方式. 特点: (纤程,轻型线程) 协程是操作系统级别的操作单位 协程的切换开销更小,属于程序级的切换,对于操作系统来说是不可见的,不需要操作系统调 ...
分类:
其他好文 时间:
2018-12-13 22:14:34
阅读次数:
189
原文链接:http://blog.51cto.com/chinalx1/2089327 http://nikic.github.io/2012/12/22/Cooperative-multitasking-using-coroutines-in-PHP.html Blog by nikic. Fin ...
分类:
Web程序 时间:
2018-12-13 19:19:00
阅读次数:
146
在PHP程序中经常需要用shell_exec执行一些命令,而普通的shell_exec是阻塞的,如果命令执行时间过长,那可能会导致进程完全卡住。在Swoole4协程环境下可以用Co::exec并发地执行很多命令。 本文基于Swoole 4.2.9和PHP 7.2.9版本 协程示例 返回值 Co::e ...
分类:
Web程序 时间:
2018-12-13 12:46:09
阅读次数:
184
Swoole4为PHP语言提供了强大的CSP协程编程模式。底层提供了3个关键词,可以方便地实现各类功能。 Swoole4提供的PHP协程语法借鉴自Golang,在此向GO开发组致敬 PHP+Swoole协程可以与Golang很好地互补。Golang:静态语言,严谨强大性能好,PHP+Swoole:动 ...
分类:
Web程序 时间:
2018-12-12 20:40:57
阅读次数:
548
疗程1: 语言基础 数据类型 流程控制 常用模块 函数、迭代器、装饰器 递归、迭代、反射 面向对象编程 购物车程序 ATM信用卡程序开发 计算器程序开发 模拟人生游戏开发 疗程2 网络编程 Socket c/s编程、Twisted异步网络框架、网络爬虫开发 多线程、多进程、协程gevent、sele ...
分类:
编程语言 时间:
2018-12-12 20:38:11
阅读次数:
202
一 、迭代器 1、迭代的概念 2、 迭代器?可迭代对象?迭代器对象? 3、 迭代器对象的使用 4、for循环 5、迭代器的优缺点 二 、生成器 1、什么是生成器 2、生成器就是迭代器 3、协程函数 5、练习1、编写装饰器,实现初始化协程函数的功能 2、实现功能:grep -rl 'python' / ...
分类:
其他好文 时间:
2018-12-12 20:33:31
阅读次数:
217
yield和协程 推荐博客:https://blog.csdn.net/soonfly/article/details/78361819 yield具有return的功能,只是yield是中断函数(更准确的说是生成器),等待下一个next()或send()再继续执行至下一个yield 协程就是利用一... ...
分类:
其他好文 时间:
2018-12-12 00:20:55
阅读次数:
301
本文将从源码实现上对libgo的调度策略进行分析,主要涉及到三个核心结构体:调度器Scheduler(简称S)执行器Processer(简称P)协程Task(简称T),对分级调度的实现进行了剖析。
分类:
其他好文 时间:
2018-12-10 22:38:03
阅读次数:
366
闲谈协程是一个很早的概念了,早些年的游戏行业中已经大规模地在使用,像lua、go这些语言中的协程原语已经相对比较完善了,一般来说直接使用就好,但是在系统后台开发上,出现的时间并不长。我是做C++方向的后台开发,目前国内一些公司也开源了一些C++协程库,但目前来说,还是在逐步完善的阶段。最早接触的C++协程库是腾讯微信的libco,可以说是相当轻量级的协程,网上关于libco的实现的文章也是相对较多
分类:
其他好文 时间:
2018-12-09 18:53:31
阅读次数:
253