⑴ python threading模块,生成多线程之后,怎么得到线程执行完成后return出的字符串呢
多线程/多进程都是通讯或者回调,而不是直接返回结果。这个很容易理解的,因为如果你用返回结果来给一个变量赋值,你就必须等待这个函数结束,你这个程序就阻塞了,这就失去了多线程/多进程防止阻塞的意义了。
通讯可以是事件驱动或者用线程安全的数据结构来传递数据(比如Queue,也可以是消息队列0mq,rabbitMQ之类),回调就是你一个程序执行完成后调用另外一个函数来处理接下来怎么做。
⑵ python可以获取其他线程吗可以获取其他线程中的对象吗
可以的,你可以利用线程间通信来获取其他线程的信息和对象。
⑶ Python 访问http://localhost/id.pyid=xxx&passwd=xxx 如何写id.py让它获取网址中的id
用django做,开启http服务后才能http访问,passwd也一般不要用get方式获得,用post
⑷ Python里面的进城id用id()方法和get.pid()方法得到的id不一样,哪个是真的啊
pid是进程,id不是
⑸ 用python如何获取client_id数据,谢谢。
Python主要在后端,前端表单的数据是通过正常form提交或者Ajax请求来提交的。
⑹ python如何获取进程和线程状态
threading.active_count()
Return the number of Thread objects currently alive. The returned count is equal to the length of the list returned by enumerate().
active_count可以返回当前活动的线程枚举
我一般是这么用的
def getHeatsParallel(self): threads = [] for i in range(0, self.threadCount): t = threading.Thread(target=self.SomeFunction, name=str(i)) threads.append(t) t.start() for t in threads: t.join()
⑺ python 怎么杀死指定线程名的线程
这几天在实践的时候,有一个问题一直在困扰我,比如timer,定时器,Python没有这么好的机制,需要自己实现。这个网上也是有一些。但是我自己的需求可能并不一样。
需求:
我需要一个函数工作,比如远程连接一个端口,远程读取文件等,但是我给的时间有限,比如,4秒钟如果你还没有读取完成或者连接成功,我就不等了,很可能对方已经宕机或者拒绝了。这样可以批量做一些事情而不需要一直等,浪费时间。
定时器是最好的,我觉得这个需求,一旦定时过了,就将这个读取函数直接kill。但是这出现了问题。
第一,怎么定时?
第二,时间到了,怎么kill函数
第三,定时函数和kill函数怎么判断该kill了。
写一个多线程,一个线程专门用来计时间,一个用来执行函数,一旦时间到了,就杀死执行函数的线程。我在多线程,python很弱,似乎没有这样的比较简单的一个接口就调用的。不像windows编程。那么,该怎办?
结合我的需求,我这么做:
1、在主进程执行,调用一个进程执行函数,然后主进程sleep,等时间到了,就kill 执行函数的进程。
测试一个例子:
[python] view plain
import time
import threading
def p(i):
print i
class task(threading.Thread):
def __init__(self,fun,i):
threading.Thread.__init__(self)
self.fun = fun
self.i = i
self.thread_stop = False
def run(self):
while not self.thread_stop:
self.fun(self.i)
def stop(self):
self.thread_stop = True
def test():
thread1 = task(p,2)
thread1.start()
time.sleep(4)
thread1.stop()
⑻ appium python怎样获取后台线程
element = driver.find_element_by_id() t = element.is_enabled() print t 在这里输出一下,就知道是否enabled是true还是false了 以上仅供参考
⑼ python怎么获得进程的pid
#-*-encoding:UTF-8-*-
importos
importsys
importstring
importpsutil
importre
defget_pid(name):
process_list=psutil.get_process_list()
regex="pid=(d+),sname='"+name+"'"
printregex
pid=0
forlineinprocess_list:
process_info=str(line)
ini_regex=re.compile(regex)
result=ini_regex.search(process_info)
ifresult!=None:
pid=string.atoi(result.group(1))
printresult.group()
break
defmain(argv):<br>name=argv[1]<br>get_pid(name)
if__name__=="__main__":
main(sys.argv)
⑽ python多线程取这个列表的值为啥有相同的
python 的GIL规定每个时刻只能有一个线程访问python虚拟机,所以你要用python的多线程来做计算是很不合算的,但是对于IO密集型的应用,例如网络交互来说,python的多线程还是非常给力的。 如果你是一个计算密集型的任务