python两种运行_Python-同时运行两个命令

1586010002-jmsa.png

I am new to Python and am having trouble with this piece of code:

while true:

rand = random.choice(number)

print(rand)

enter_word = input("Write something: ")

time.sleep(5)

I want to be able to input words in the console while, at the same time, have random numbers appear in the console. But a new number only appears once I input a word. What is the best way to make both these commands run at the same time?

Do I need to make a thread or is there something simpler I can do?

And if I need to make a thread can you please give a little help on how I would create it?

Thanks in advance

解决方案

This can be achieved by using the multiprocessing module in python, please find the code below

#!/usr/bin/python

from multiprocessing import Process,Queue

import random

import time

def printrand():

#Checks whether Queue is empty and runs

while q.empty():

rand = random.choice(range(1,100))

time.sleep(1)

print rand

if __name__ == "__main__":

#Queue is a data structure used to communicate between process

q = Queue()

#creating the process

p = Process(target=printrand)

#starting the process

p.start()

while True:

ip = raw_input("Write something: ")

#if user enters stop the while loop breaks

if ip=="stop":

#Populating the queue so that printramd can read and quit the loop

q.put(ip)

break

#Block the calling thread until the process whose join()

#method is called terminates or until the optional timeout occurs.

p.join()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值