协程是用户态内的,或者准确点说是线程内部的一种上下文切换技术,由于协程切换是在用户态下完成的,所以省去了线程切换时频繁出入内核态的资源开销,可以形成一种很高效的协作式并发技术。
这个简短的视频介绍了一些有关协程、并发之类的东西,很有意义。
Coroutines, event loops, and the history of Python generators
从里面学习到两种很好的协程的调度方式。把代码拿过来分享一下。
Coroutine trampoline
这种方式下的协程调度比较好理解,就是从一个初始状态开始,一条执行线索不断的在多个协程之间切换,就好像多个协程协作完成一项任务。
代码:
def co_tramp继续阅读 »
随着互联网的普及,不管是PC端的web,还是移动端的app,甚至智能家居等,绝大部分的通信都是依靠http协议传输数据,但http协议只负责传递信息,并不能保证信息的安全性和可靠性。
more
信息安全
简单来说,信息安全就是为了保证传递的信息只能被正确的人接收和识别,并且接收方能够验证信息是否被篡改,最终能够正确识别收到的信息。继续阅读 »
前几天做一个需求用到了sql in 子查询,
大概sql如下
SELECT * FROM table_a WHERE id IN (SELECT id FROM table_id_list)
执行时间150m,完全没法忍受
单独执行
SELECT id FROM table_id_list
秒查,只有七八行结果。
把查询结果写死在sql中
SELECT * FROM table_a WHERE id IN (1,2,3,4,5)
依然秒查
解决方案
再把ID列表select一次
SELECT * FROM table_a WHERE id IN (SELECT id from(SELECT id FROM table继续阅读 »