【发布时间】:2017-11-19 10:11:41
【问题描述】:
我已经编写了我的问题的示例代码。输入消息被分成固定的块,并使用有意的随机延迟进行混合。但是,sleep() 处于阻塞状态,不会运行下一个任务。这可以在单线程上实现还是我必须求助于多线程?
from random import randint
from time import sleep
def delay_message(split_message, delay):
#sleep(delay) #this blocks
print("Shuffled message: {} and time: {}". format(split_message, delay))
def main():
message = raw_input('Input: ')
#padding
difference = len(message) % 5
message=message.ljust(len(message)+5-difference, "0")
for i in range(0, len(message), 5):
delay = randint(0, 5)
split_message = message[i:i+5]
delay_message(split_message, delay)
if __name__ == "__main__":
main()
【问题讨论】:
-
看看
asyncio。如果它真的只是你需要的非阻塞睡眠,那可能会有所帮助。
标签: python scheduled-tasks scheduler