博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode题解(1114):多线程按序打印(Python)
阅读量:1900 次
发布时间:2019-04-26

本文共 768 字,大约阅读时间需要 2 分钟。

题目:(简单)

解法 时间复杂度 空间复杂度 执行用时
Ans 1 (Python) 52ms (66.97%)
Ans 2 (Python)
Ans 3 (Python)

LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。

解法一(使用threading.Lock实现):

from threading import Lockclass Foo:    def __init__(self):        self.firstJobDone = Lock()        self.secondJobDone = Lock()        self.firstJobDone.acquire()        self.secondJobDone.acquire()    def first(self, printFirst: 'Callable[[], None]') -> None:        printFirst()        self.firstJobDone.release()    def second(self, printSecond: 'Callable[[], None]') -> None:        with self.firstJobDone:            printSecond()            self.secondJobDone.release()    def third(self, printThird: 'Callable[[], None]') -> None:        with self.secondJobDone:            printThird()

转载地址:http://gmgdf.baihongyu.com/

你可能感兴趣的文章
Buffer的分散和聚集
查看>>
Selector介绍
查看>>
Selector API介绍
查看>>
Office Online Server搭建(全网最详细)
查看>>
Selector、SelectionKey、ServerSocketChannel和SelectChannel关系
查看>>
NIO实现客户端、服务端
查看>>
MySQL查询中多表连接查询存在的必要性?
查看>>
反思如何成为一个优秀的程序员
查看>>
Semantic-UI复习
查看>>
日志异常处理
查看>>
SpringBoot的启动类的位置
查看>>
JPA,Hibernate框架使用的踩坑记录和使用的一些细节问题
查看>>
Semantic-UI进行前端的表单的验证功能
查看>>
java.File类常用方法
查看>>
java中 == 与equals()的区别
查看>>
【日常学习】origin入门 保姆级教程
查看>>
【踩坑指南】ROS
查看>>
【学习随记】Word域代码相关
查看>>
MongoDB入门简记
查看>>
软件工程习题——第七周:面向对象设计-1
查看>>