爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3191|回复: 6

求助,多进程milab如何做?

[复制链接]

新浪微博达人勋

发表于 2021-12-10 19:54:30 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
王老师好
我想在meteoinfolab中使用Python的multiprocessing,但好像并没有这个标准库,请问您如何在meteinfolab中使用多进程呢?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2021-12-10 21:25:31 | 显示全部楼层
Jython 没有multiprocessing,不过Jython没有GIL全局锁,可以实现真正的多线程。因此可以用多线程来并行。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-12-11 05:54:47 | 显示全部楼层
收到,谢谢王老师.
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-12-12 09:54:28 | 显示全部楼层
王老师好
能否请您写一个示例代码,不太了解JAVA的多进程,查了很多资料但写出来的要么主进程直接执行没有等待线程运行,要么压根运行不起来。
我修改了milab执行参数,考虑机器性能限制,只分配了1G内存。

另外我尝试将milab执行包装了一层,使用CPython的subprocess来多进程调用,但效率好像比较捉急。。。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-12-12 12:43:29 | 显示全部楼层
lovechang1314 发表于 2021-12-12 09:54
王老师好
能否请您写一个示例代码,不太了解JAVA的多进程,查了很多资料但写出来的要么主进程直接执行没有 ...

参考这里:https://github.com/om12nayak/Jython_multithreading_demo
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-12-13 13:52:20 | 显示全部楼层
MeteoInfo 发表于 2021-12-12 12:43
参考这里:https://github.com/om12nayak/Jython_multithreading_demo

我也是找的这个例子...还提了issues...
谢谢您
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-12-13 15:49:41 | 显示全部楼层
lovechang1314 发表于 2021-12-13 13:52
我也是找的这个例子...还提了issues...
谢谢您

可以参考这段代码:
  1. sem = Semaphore(10)    #Maximum thread number
  2. threads = []
  3. for r in range(nlon):
  4.     thread = Thread(target=ffn, args=(sem, r, nlat, fcst_hours, inputs, results))
  5.     thread.start()
  6.     threads.append(thread)

  7. for thread in threads:
  8.     thread.join()

  9. results = absolute(results)


密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表