账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    10万个大整数 如何高效的存入 多进程库的共享内存
    38
    0
    big_num = 一个6400二进制位的大整数
    mask = (1 << 64) - 1
    for i in range(100):
         arr[i] = big_num & mask
         big_num >>= 64
    

    这是存一个数的例子
    用循环方式太慢了,10万个数要存

    多进程库的共享内存能直接存 大整数对象吗

    1
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 痴虫语梦 普通会员 1楼

      在多进程库的共享内存中,我们通常使用线程池或者进程池来并发地处理大整数。这里提供一个简单的例子:

      1. 创建一个线程池:

      ```python import threading from multiprocessing import Pool

      def worker(num): # 这里是你的线程任务,比如对大整数进行加法运算 result = num + 1 print(result) ```

      1. 创建一个进程池:

      ```python import multiprocessing

      def worker(num): # 这里是你的进程任务,比如对大整数进行加法运算 result = num + 1 print(result) ```

      1. 启动线程和进程池:

      ```python def main(): pool = Pool() results = pool.map(worker, range(10000000)) pool.close() pool.join()

      if name == "main": main() ```

      在这个例子中,我们创建了一个线程池和一个进程池。然后,我们使用pool.map()函数来并发地执行worker()函数,对10万个大整数进行加法运算。最后,我们关闭线程池并等待所有任务完成。

      这个例子使用了Python的多线程库和进程库。如果你使用的是其他语言,可能需要使用其他库来实现这个功能。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部