浩浩 浩浩
4年前
Retrofit 支持suspend函数源码分析
Retrofit2.6.0之后支持接口suspend函数配合协程使用,举个例子:ApiServicejavainterfaceLoginApiService:BaseService{@GET("/wxarticle/chapters/json")suspendfungetChapters():BaseResp
Easter79 Easter79
3年前
tbox新增stackless协程支持
tbox之前提供的stackfull协程库,虽然切换效率已经非常高了,但是由于每个协程都需要维护一个独立的堆栈,内存空间利用率不是很高,在并发量非常大的时候,内存使用量会相当大。之前考虑过采用stacksegment方式进行内存优化,实现动态增涨,但是这样对性能还是有一定的影响,暂时不去考虑了。最近参考了下boost和protothreads的st
GO语言协程的理解
以下内容大部分摘自许世伟的《GO语言核心编程》最近面试,在自己的简历上写了简单会一些GO语言。结果被面试官问了GO语言goroutine的原理。自己看倒是看过,时间长了又给忘了。特此写下此文以长记性。协程:协程本质上是一种用户态线程,不需要操作系统来进行抢占式调度,并且在真正的实现中寄存于线程中,因此系统开销极小,可以有效的提高线程任务的并发性,而避
Wesley13 Wesley13
3年前
Go语言
发现问题今天在看代码的时候,遇见了多个协程写同一个slice的情况,发现未对slice做任何保护,亦未使用其他手段保证并发安全,这样肯定会出错的。思考slice不是协程安全的,所以在多个协程中读写slice是不安全的,在高并发的情况下会产生不可控制的错误。总结这里记录一下错误的使用方式与正确的使用方式:错误的使用
Wesley13 Wesley13
3年前
unity多线程,协程
参考网址:http://blog.csdn.net/u011484013/article/details/511367801.unity是单线程的,并不支持标准的多线程。c是支持多线程。所以代码中用多线程也就是newthread实际上是用的c代码。所以线程的非主线程是不能调用关于unity的任何类的。包括www类也不行。所以unity中用多线程最好
Stella981 Stella981
3年前
Python 的效率編程_simplified
!ryxjt(http://static.oschina.net/uploads/img/201604/05163720_HYgo.jpg)!11(http://static.oschina.net/uploads/img/201604/05163720_f03M.jpg)Python说是当今最热门的编程语言之一,相信大家都不会反对。
Stella981 Stella981
3年前
Gevent简明教程
1、前述进程线程协程异步并发编程(不是并行)目前有四种方式:多进程、多线程、协程和异步。多进程编程在python中有类似C的os.fork,更高层封装的有multiprocessing标准库多线程编程python中有Thread和threading异步编程在linux下主要有三种实现selec
Stella981 Stella981
3年前
Python 协程实现socket并发
socket多并发socket可以实现单个客户端进行请求访问,它可以通过socketserver来实现并发功能呢,socketserver是通过启用多线程实现并发,在这里我们也可以通过gevent协程来实现单个线程下的多并发。socketserver:importgeventfromgeventi
Wesley13 Wesley13
3年前
API 资源隔离系统设计与实现
_(马蜂窝技术原创内容,公众号ID:mfwtech)_Part1背景大交通业务需要对接机票、火车票、租车、接送机等业务的外部供应链,供应商的数据接口大部分通过HTTP、HTTPS等协议进行通信。为了保证开发进度并支持集成测试时进行多场景支持,我们往往需要对供应商接口进行MOCK。之前我们在开发环境和