a,b两个进程同时运行,如何实现a进程停止时,不管b进程运行不运行,实现b进程的停止运行。
multiprocessing time write(q): i : (,i) q.put(i) read(q): time.sleep() i (q.qsize()): (,q.get()) __name__ == : q = multiprocessing.Manager().Queue() po = multiprocessing.Pool() po.apply_async(write,(q,)) po.apply_async(read,(q,)) po.close() po.join()
老师这个运行不出结果
from multiprocessing import Process,current_process from multiprocessing import Manager def func(name,m_list,m_dict): m_dict['name'] = '尚学堂' m_list.append('你好') if __name__ == '__main__': with Manager() as mgr: m_list = mgr.list() m_dict = mgr.dict() m_list.append('Hello') p1 = Process(target=func,args=('p1',m_list,m_dict)) p1.start() p1.join() print(f'主进程:{m_list}') print(f'主进程:{m_dict}')
老师,第八九行可以理解为在manager管理器名为mgr的地方开辟空间叫为m_list和m_dict吗
老师这个软件我弄不太明白,那个地址要选他默认的127开头的那个,还是我本机的地址,还有要选择的那个下载文件,为什么我桌面上的图片不在他的选项里,如何从这个软件上传输下来,不太明白操作
from socket import * tcpsock=socket(AF_INET,SOCK_STREAM) tcpsock.bind(("",8899)) # 默认本机ip tcpsock.listen(5) # 最多有5个人可以排队 newsock,clientaddr = tcpsock.accept() # 返回一个新的套接字对象(空出用于接收连接请求的端口),连接方地址 data = newsock.recv(1024) # 注意在tcp里不是recvfrom,是recv print(data) newsock.send("xiexie") # 方法是send,在做三次握手的时候已经建立了稳定的连接 newsock.close() tcpsock.close() # 关闭作为监听的套接字
from socket import * clientsock=socket(AF_INET,SOCK_STREAM) clientsock.connect(("192.168.1.1",8899)) # 客户端同样要用7788端口,连接服务器 clientsock.send("nihao") data = clientsock.recv(1024) print(data) clientsock.close()
先运行服务器,再运行客户端没有反应,或者提示通常每个套接字地址(协议/网络地址/端口)只允许使用一次。
print('操作码:%d,ACK:%d,服务器随机端口:%d,数据长度:%d' % (caozuoma, ack_num, rand_port, len(recv_data[0])))
老师,这里的%符号没有理解,是什么意思?
#当作为发送方可以不绑定端口,但做为接收方一定要绑定端口 from socket import * s=socket(AF_INET,SOCK_DGRAM) s.bind('',8788) s.sendto(b'asd','169.254.69.137',8083) rdata=s.recvfrom(2048) print(rdata[0].decode('gb2312'))
只接收一个参数是什么意思呀,这个该如何该呢
老师我这个是怎么回事?在terminal上安装过gevent了
老师,这上面的io是什么意思?为什么说碰到 io就要用协程来处理呢
这段视频是不是不完整,感觉说了一半就没有了,不过源码中有全部的源码?
老师,上图中圈起来的 state = 0 的作用是什么,视频中的老师说是门每关一次,就把门的状态清零一次,为什么要清零呢?另外, state += 1,老师说的是不管门开着还是门关着,每执行完一次循环就加 1,然后下面判断 state>3,即门开着的时间超过 3s 门就自当关闭。那这样的话逻辑说不通吧,这里的 3 指的是循环执行 3 次,并不是门开着的时间啊。麻烦老师解释一下,谢谢
sub_info是什么意思
from socket import * a = socket(AF_INET,SOCK_DGRAM) #创建套字节、为固定句式 address = ("192.168.10.40",8080) date = input("输入发送内容:") a.sendto(date.encode('GB2312'),address) #接收数据 redate = a.recvfrom(1024) #括号内为最大字节数 print(redate[0].decode("GB2312")) a.close()
为什么调试助手接收端还是没转化过来啊
创建线程,那个是如何导入的
#coding=utf-8 import threading num=0 def test1(): global num if mutex.acquire(): for i in range(100000): num += 1 mutex.release() def test2(): global num if mutex.acquire(): for i in range(100000): num += 1 mutex.release() mutex = threading.Lock() p1 =threading.Thread(target=test1) p2 =threading.Thread(target=test2) p1.start() p2.start() print(num)
老师,为什么我的代码不能起到互斥锁的作用呢?
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637