如何使用1个以上的内核在python中读取文件

如何使用1个以上的内核在python中读取文件,python,multithreading,file-io,multiprocessing,Python,Multithreading,File Io,Multiprocessing,我有两个随机数的文件,我需要从文件1中找到第二个文件中没有的所有数字。 我知道如何在一个进程中完成这项任务,这很简单,但我必须使用两个或更多内核来完成这项任务。 有人能给我解释一下怎么做吗?网上有很多线程教程。试试这个: 伪代码: import thread def useFile(fin): while(true): line = fin.readline() if line == "": break #do s

我有两个随机数的文件,我需要从文件1中找到第二个文件中没有的所有数字。 我知道如何在一个进程中完成这项任务,这很简单,但我必须使用两个或更多内核来完成这项任务。

有人能给我解释一下怎么做吗?

网上有很多线程教程。试试这个:

伪代码:

import thread

def useFile(fin):
    while(true):
        line = fin.readline()
        if line == "":
            break
        #do something with line

with open(filename, 'r') as fin:
    thread.start_new_thread(useFile, (fin))
    thread.start_new_thread(useFile, (fin))

网上有很多线程教程。试试这个:

伪代码:

import thread

def useFile(fin):
    while(true):
        line = fin.readline()
        if line == "":
            break
        #do something with line

with open(filename, 'r') as fin:
    thread.start_new_thread(useFile, (fin))
    thread.start_new_thread(useFile, (fin))

为什么要使用两个CPU?你认为会更快吗?!你愿意在两个线程之间进行大量的同步吗?@Aron,这可能不是更快,但有一个任务需要涉及两个或多个内核(你为什么要使用两个CPU?你认为会更快吗?!你愿意在两个线程之间进行大量同步吗?@Aron,可能不会更快,但有一个任务涉及两个或更多的内核:(不幸的是,这并没有使用多个核心。它仍然使用1个核心,在运行之间有中断tasks@PYPL实际上,你几乎必须将线程改为多处理才能工作。如果你必须使用线程,你就必须重写GIL!不幸的是,这不是使用多核。它仍然使用1核h运行之间的中断tasks@PYPL事实上,为了让它工作,你几乎必须将线程改为多处理。如果你必须使用线程,你就必须重写GIL!