我開始於Python中的線程,並嘗試實現合併排序,其中開始時作業被分解爲2個線程。我正在使用collections.deque
,itertools.islice
,threading.Thread
。排序似乎比2個線程慢1
我在開始時創建了兩個線程,他們通常每做一半工作,然後加入他們併合並結果。但是我注意到它比兩個線程的長度要長(幾乎是兩倍長),比我通常做的要多。
這怎麼可能? Here is a link to the code,我可以根據需要在這裏繁殖的主要部分(我貼在Code Review SE這個問題也和我寧願保持這種一短)
它是鏈接到this問題(似乎是一個類似的問題在C++)?非常感謝你。
可能重複[python多線程比串行慢?](http://stackoverflow.com/questions/10789042/python-multi-threading-slower-than-serial) –
爲什麼downvote? – BusyAnt
儘管CPython的GIL限制了多線程,但您仍然可以使用'multiprocessing'。 –