[TOC] 并发编程 1.并发编程 为什么要并发? 程序默认执行方式就是串行,即程序自上而下,一行一行顺序执行,必须把当前任务执行完才能执行下一个,这样造成效率低 并发可以同时执行多个任务 来提高程序的效率 2.如何实现并发: ? 1.多进程 核心原理是多道技术 ? 2.多线程 ? 3.协程 3.进 ...
分类:
其他好文 时间:
2019-07-02 21:18:46
阅读次数:
127
要实现异步协程,需要满足几个条件: 1,创建协程对象,且协程内部操作需要支持异步。 2,创建任务对象,如需为协程执行结果进行进一步处理,则需要为任务对象绑定回调函数。 3,创建事件循环,并将任务启动。 注意!: 一个线程内最多大概可以注册500个协程。。任务数过多,需要多线程加异步协程实现。 ...
分类:
Web程序 时间:
2019-06-30 15:39:27
阅读次数:
159
进程: 进程,线程由操作系统控制;协程(具体某一函数)由程序员操控。 curl访问网站 signal:ctrl +c 结束程序 就是信号 RPC:进程在执行过程中,有一段是在远程主机上执行后再返回主机。 目前计算机工作状态:涉及到io时,计算机发送指令到DMA ps u(进程的有效用户,而非进程发起 ...
分类:
其他好文 时间:
2019-06-30 14:04:53
阅读次数:
111
步骤: 暂停所有任务执行 启动mark(mark这部分还是要把原程序停下来的 mark完成后就马上就重新启动被暂停的任务 sweep任务和普通协程任务一样并行 和其他任务一起执行 如果运行在多核处理器上,go会试图将gc任务放到单独的核心上运行而尽量不影响业务代码的执行 go team自己的说法是减 ...
分类:
其他好文 时间:
2019-06-30 12:28:47
阅读次数:
91
golang协程同步的几种方法 [toc] 本文简要介绍下go中协程的几种同步方法。 协程概念简要理解 协程类似线程,是一种更为轻量级的调度单位,但协程还是不同于线程的,线程是系统级实现的,常见的调度方法是时间片轮转法,如每隔10ms切换一个线程执行。 协程则是应用软件级实现,它和线程的原理差不多, ...
分类:
其他好文 时间:
2019-06-29 22:04:50
阅读次数:
127
一.单线程+异步协程 1.基本概念: 2.多任务异步协程 3.在爬虫中的应用 二.selenium(浏览器自动化模块) 1.基本概念 2.安装使用 3.动作制定 ①基本操作 ②动作链(按住拖动) 4.无头浏览器(无可视化) 5.规避被检测 6.超级鹰+截图+浏览器自动化+动作链 三. pyppete ...
分类:
其他好文 时间:
2019-06-28 19:32:01
阅读次数:
108
c++ uconcontext.h实现协程 [TOC] 什么是协程? 协程是一种程序组件,是由子例程(过程、函数、例程、方法、子程序)的概念泛化而来的,子例程只有一个入口点且只返回一次,而协程允许多个入口点,可以在指定位置挂起和恢复执行。 协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下 ...
分类:
编程语言 时间:
2019-06-28 14:45:27
阅读次数:
172
Python3 迭代器与生成器 迭代器 迭代是Python最强大的功能之一,是访问集合元素的一种方式。 迭代器是一个可以记住遍历的位置的对象。 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。 迭代器有两个基本的方法:iter() 和 next()。 字符串 ...
分类:
编程语言 时间:
2019-06-24 00:46:24
阅读次数:
151
1、迭代器(iterator) 是一个实现了迭代器协议的对象,python的一些内置数据类型(列表,数组,字符串,字典等)都可以通过for语句进行迭代,我们也可以自己创建一个容器,实现了迭代器协议,可以通过for,next方法进行迭代,在迭代的末尾,会引发stopIteration异常。 2、生成器 ...
分类:
其他好文 时间:
2019-06-24 00:35:54
阅读次数:
107
在多个协程中的线性控制流很容易通过内置的关键词await来管理。使用asyncio模块中的方法可以实现更多复杂的结构,它可以并发地完成多个协程。 一、asyncio.wait() 你可以将一个操作分成多个部分并分开执行,而wait(tasks)可以被用于中断任务集合(tasks)中的某个被事件循环轮 ...
分类:
编程语言 时间:
2019-06-23 22:43:58
阅读次数:
151