相关疑难解决方法(0)

'real','user'和'sys'在time(1)的输出中意味着什么?

$ time foo
real        0m0.003s
user        0m0.000s
sys         0m0.004s
$
Run Code Online (Sandbox Code Playgroud)

"真实","用户"和"系统"在时间输出中意味着什么?

在对我的应用进行基准测试时哪一个有意义?

unix time benchmarking

1622
推荐指数
6
解决办法
42万
查看次数

多处理与线程Python

我试图了解多处理优于线程的优势.我知道多处理可以解决Global Interpreter Lock问题,但是还有什么其他优点,并且线程不能做同样的事情?

python multithreading multiprocessing

739
推荐指数
10
解决办法
32万
查看次数

CPython中的全局解释器锁(GIL)是什么?

什么是全球解释器锁,为什么它是一个问题?

围绕从Python中删除GIL已经产生了很多噪音,我想知道为什么这么重要.我自己从未编写过编译器或解释器,所以不要节俭细节,我可能需要他们理解.

python gil python-internals

230
推荐指数
6
解决办法
6万
查看次数

多任务处理,多线程处理和多处理之间的区别?

多任务,多道程序和多处理之间的区别是什么

这经常出现在我的大学操作系统考试中,我找不到一个好的答案.我对多任务和多道程序有很多了解,但需要确认一下.

multithreading operating-system multiprocessing multitasking

71
推荐指数
4
解决办法
21万
查看次数

Python线程化多个bash子进程?

如何使用线程和子进程模块生成并行bash进程?当我启动线程时,第一个答案就在这里:如何在Python中使用线程?,bash进程按顺序而不是并行运行.

python multithreading subprocess

34
推荐指数
2
解决办法
4万
查看次数

多核编程:有必要做什么?

我有一个四核处理器,当我运行快速模拟时,我真的想利用所有这些核心.问题是我只熟悉我们在实验室中使用的小型Linux集群,而且我在家中使用Vista.

对于使用C或Java进行多核编程,我想研究哪些内容?我想谷歌的术语是什么?

谢谢您的帮助.

c java windows multicore

15
推荐指数
3
解决办法
7590
查看次数

MaybeEncodingError:发送结果时出错:'<multiprocessing.pool.ExceptionWithTraceback object at 0x0000018F09F334A8>'

使用多处理下载文件时出现以下错误。我正在下载维基百科页面浏览量,他们按小时计算,因此可能包含大量下载。

关于为什么会导致此错误以及如何解决它的任何建议?谢谢

MaybeEncodingError:发送结果错误:''。原因:'TypeError("cannot serialize '_io.BufferedReader' object",)'

import fnmatch
import requests
import urllib.request
from bs4 import BeautifulSoup
import multiprocessing as mp

def download_it(download_file):
    global path_to_save_document
    filename = download_file[download_file.rfind("/")+1:]
    save_file_w_submission_path = path_to_save_document + filename
    request = urllib.request.Request(download_file)
    response = urllib.request.urlopen(request)
    data_content = response.read()
    with open(save_file_w_submission_path, 'wb') as wf:    
        wf.write(data_content)
    print(save_file_w_submission_path)  

pattern = r'*200801*'
url_to_download = r'https://dumps.wikimedia.org/other/pagecounts-raw/'
path_to_save_document = r'D:\Users\Jonathan\Desktop\Wikipedia\\'    

def main():
    global pattern
    global url_to_download
    r  = requests.get(url_to_download)
    data = r.text
    soup = BeautifulSoup(data,features="lxml")

    list_of_href_year = []
    for i in …
Run Code Online (Sandbox Code Playgroud)

multiprocessing python-3.x

10
推荐指数
1
解决办法
7528
查看次数

我怎么能在python中杀死一个线程

我使用以下代码启动一个线程.

t = thread.start_new_thread(myfunction)
Run Code Online (Sandbox Code Playgroud)

我怎么t能从另一个线程中杀死线程.所以基本上在代码方面,我希望能够做到这样的事情.

t.kill()
Run Code Online (Sandbox Code Playgroud)

请注意,我使用的是Python 2.4.

python multithreading

8
推荐指数
3
解决办法
7万
查看次数

如何使用Python并行读取/处理大文件

我几乎有一个大文件20GB,超过2000 万行,每行代表单独的序列化JSON

line by line定期读取文件loop并对行数据执行操作需要花费大量时间

是否有任何state of art方法可以与较小的块并行best practices读取大文件以使处理速度更快?

我正在使用Python 3.6.X

python multithreading python-3.x

5
推荐指数
1
解决办法
5527
查看次数

带参数的Python子类化过程

我正在尝试创建一个对象,但作为一个新进程.我正在按照本指南编写并提供此代码.

import multiprocessing as mp 
import time

class My_class(mp.Process):
    def run(self):
        print self.name, "created"
        time.sleep(10)
        print self.name, "exiting"
        self.x()

    def x(self):
        print self.name, "X"

if __name__ == '__main__':
    print 'main started'
    p1=My_class()
    p2=My_class()
    p1.start()
    p2.start()  
    print 'main exited'
Run Code Online (Sandbox Code Playgroud)

但是在这里我无法将参数传递给对象.我搜索但没有找到.它不像普通的多进程,我们会做类似的事情:

p1 = multiprocessing.Process(target=My_class, args=('p1',10,))
Run Code Online (Sandbox Code Playgroud)

将参数传递给新进程.但是类实例的多处理是不同的.现在,我正在以下面的方式传递它.

import multiprocessing as mp 
import time

class My_class(mp.Process):
    my_vars={'name':'', 'num':0}
    def run(self):
        self.name=My_class.my_vars['name']
        self.num=My_class.my_vars['num']
        print self.name, "created and waiting for", str(self.num), "seconds"
        time.sleep(self.num)
        print self.name, "exiting"
        self.x()

    def x(self):
        print self.name, "X"

if __name__ …
Run Code Online (Sandbox Code Playgroud)

python arguments object multiprocessing

4
推荐指数
1
解决办法
2259
查看次数

Python:从不同线程运行许多子进程很慢

我有一个包含 1 个进程的程序,它启动了很多线程。每个线程可能使用 subprocess.Popen 来运行一些命令。我看到运行命令的时间随着线程数的增加而增加。例子:

>>> def foo():
...     s = time.time()
...     subprocess.Popen('ip link show'.split(), stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True).communicate()
...     print(time.time() - s)
...
>>> foo()
0.028950929641723633
>>> [threading.Thread(target=foo).start() for _ in range(10)]
0.058995723724365234
0.07323050498962402
0.09158825874328613
0.11541390419006348 # !!!
0.08147192001342773
0.05238771438598633
0.0950784683227539
0.10175108909606934 # !!!
0.09703755378723145
0.06497764587402344
Run Code Online (Sandbox Code Playgroud)

是否有另一种方法可以在不降低性能的情况下从单个进程并行执行大量命令?

subprocess python-multithreading python-3.x

3
推荐指数
1
解决办法
130
查看次数