我不明白为什么这段代码的行为方式不同。在第一种情况下,代码将显示“ elo”,并在19秒后显示“ 3”。
在其他情况下,我们将首先等待19秒,然后再看到“ elo”。
你能解释一下吗?
from concurrent.futures import ThreadPoolExecutor
def wait_on_future():
f = 3
import time
time.sleep(19)
print(f)
executor = ThreadPoolExecutor(max_workers=2)
executor.submit(wait_on_future)
print("elo")
Run Code Online (Sandbox Code Playgroud)
与
from concurrent.futures import ThreadPoolExecutor
def wait_on_future():
f = 3
import time
time.sleep(19)
print(f)
with ThreadPoolExecutor(max_workers=2) as executor:
executor.submit(wait_on_future)
print("elo")
Run Code Online (Sandbox Code Playgroud)