LeetCode 多线程 1115. 交替打印FooBar
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                LeetCode 多线程 1115. 交替打印FooBar
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                1115. 交替打印FooBar
Ideas
交替鎖的設計,兩把鎖,foo執行的時候把foo lock acquire,print完了只有把bar lock release,這樣foo就得等著,然后bar執行的時候把bar lock acquire,print完了之后把foo lock release,這樣就能交替打印foo和bar了。
Code
Python
from threading import Lockclass FooBar:def __init__(self, n):self.n = nself.print_foo = Lock()self.print_bar = Lock()self.print_bar.acquire()def foo(self, printFoo: 'Callable[[], None]') -> None:for i in range(self.n):self.print_foo.acquire()# printFoo() outputs "foo". Do not change or remove this line.printFoo()self.print_bar.release()def bar(self, printBar: 'Callable[[], None]') -> None:for i in range(self.n):self.print_bar.acquire()# printBar() outputs "bar". Do not change or remove this line.printBar()self.print_foo.release()總結
以上是生活随笔為你收集整理的LeetCode 多线程 1115. 交替打印FooBar的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: LeetCode Shell 192.
- 下一篇: 华为有造车实力,却坚决不造整车,这背后有
