from concurrent.futures import ThreadPoolExecutor,as_completed
import time
def get_html(times):
time.sleep(times)
print("get page {} sucess".format(times))
return times
executor = ThreadPoolExecutor(max_workers=2)
task1 = executor.submit(get_html, (3))
print(task1.done())
time.sleep(4)
print(task1.done)
print(task1.result())
from concurrent.futures import ThreadPoolExecutor,as_completed
import time
def get_html(times):
time.sleep(times)
print("get page {} success".format(times))
return times + 1
executor = ThreadPoolExecutor(max_workers=2)
urls = [3,2,4]
all_task = [executor.submit(get_html,(url)) for url in urls]
for future in as_completed(all_task):
data = future.result()
print(data
)
import time
from multiprocessing import Process,Queue
def producer(queue):
queue.put("a") #将a 写入到queue队列中
time.sleep(2)
def consumer(queue):
time.sleep(2)
data = queue.get() # 获取queue队列中的信息,所有最后打印a
print(data)
if __name__ == '__main__':
queue = Queue(10)
my_producer = Process(target=producer,args=(queue,))
my_consumer = Process(target=consumer, args=(queue,))
my_producer.start()
my_consumer.start()
my_producer.join()
my_consumer.join()
#最后打印a
import time
from multiprocessing import Process,Queue, Manager,Pool
def producer(queue):
queue.put("a") #将a 写入到queue队列中
time.sleep(2)
def consumer(queue):
time.sleep(2)
data = queue.get() # 获取queue队列中的信息,所有最后打印a
print(data)
if __name__ == '__main__':
#pool中的进程间通信需要使用manger中的queue
queue = Manager().Queue(10)
pool = Pool(2) #创建进程池
pool.apply_async(producer, args=(queue,))
pool.apply_async(consumer, args=(queue, ))
pool.close()
pool.join()
#pipe实现进程间通信(只能两个进程之间)
from multiprocessing import Process,Pipe
def producer(pipe):
pipe.send("derek")
def consumer(pipe):
print(pipe.recv())
if __name__ == '__main__':
receiv_pipe, send_pipe = Pipe()
my_producer = Process(target=producer, args=(send_pipe, ))
my_consumer = Process(target=consumer, args=(receiv_pipe, ))
my_producer.start()
my_consumer.start()
my_producer.join()
my_consumer.join()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构