[编程]ipython后台任务多线程执行

[编程]ipython后台任务多线程执行

背景

jupyter notebook是以ipython为内核的,在编写程序的时候,经常遇到有些高IO的函数在后台运行半天,但是又需要在它运行的时候执行别的任务,因此这就用到了多线程。

其实ipython 已经封装好了多线程工具,只需要调用即可执行

简单使用


from IPython.lib import backgroundjobs as bg
from time import sleep

jobs = bg.BackgroundJobManager()

def func1():
  sleep(1000000)
  return 1

# 创建任务
jobs.new(func1)

# 任务状态
jobs.status()
# Running jobs:
# 0 : <function func1 at 0x7fae1b670c80>

# 执行结果
result=jobs.result(0)

官方代码

https://gist.github.com/m2kar/cd171c13c2d1094316d3cb3cb9a56899

发布了36 篇原创文章 · 获赞 23 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/still_night/article/details/104837717
今日推荐