并发编程

时间:2019-06-16
本文章向大家介绍并发编程,主要包括并发编程使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

进程

线程

协程

#不使用greenlet实现切换任务
import time
def work1():
    while 1:
        print('----work1----')
        yield
        time.sleep(0.4)

def work2():
    while 1:
        print('----work2----')
        yield
        time.sleep(0.4)

def main():
    w1=work1()
    w2=work2()
    while 1:
        next(w1)
        next(w2)

if __name__ == '__main__':
    main()

  

# 使用greenlet模块实现切换任务
from greenlet import greenlet
import time
def work1():
    while 1:
        print('---A-----')
        gr2.switch()
        time.sleep(0.5)
def work2():
    while 1:
        print('---B-----')
        gr1.switch()
        time.sleep(0.5)

gr1=greenlet(work1)
gr2=greenlet(work2)


gr1.switch()

  

# gevent的使用
import gevent
def foo():
    print('running in foo')
    gevent.sleep(2)
    print('come back from bar in to foo')

def bar():
    print('running in bar')
    gevent.sleep(2)
    print('come back from foo in to bar')

gevent.joinall([
    gevent.spawn(foo),
    gevent.spawn(bar),
])

  

 

原文地址:https://www.cnblogs.com/djfboai/p/11037294.html