Найти - Пользователи
Полная версия: Не понял многопоточность (threading)
Начало » Python для новичков » Не понял многопоточность (threading)
1 2 3
FishHook
Pironity
Я вас тиранить начну, если вы популярно не объясните мне, что такое потоки в понимании архитектуры процессора.
vic57
Pironity
Не совсем понял, как эти расширения помогут
 from time import time
import numpy
t0 = time()
a1 = numpy.arange(0,1000000,2)
a2 = numpy.arange(0,1000000,3)
print(time() - t0)
del a1,a2
t0 = time()
a1 = [i for i in range(0,1000000,2)]
a2 = [i for i in range(0,1000000,3)]
print(time() - t0)
>>>0.0033609867095947266
>>>0.05250215530395508
есть некоторая разница
Pironity
FishHook
PironityЯ вас тиранить начну, если вы популярно не объясните мне, что такое потоки в понимании архитектуры процессора.
Цитируя перевод 6-го издания “Архитектура компьютера” Танненбауна и Остина изд. Питер (ст.226, последний абзац):
Core i7 является многоядерным процессором; таким образом, кремниевая подложка содержит несколько процессоров… Если программисты пишут параллельную программу с использование потоков и блокировок, организация параллельного выполнения на нескольких процессорах обеспечит существенный выигрышь по скорости, поддерживая технологию гиперпоточности, позволяющую нескольким аппаратным потокам быть активными одновременно. Гиперпоточность позволяет осуществлять аппаратное переключение потоков во время коротких задержек.

Pironity
vic57
есть некоторая разница
Проверить не смог, т.к.
 module 'numpy' has no attribute 'arange'
Python 3.6.4
FishHook
Pironity
Да я это читал. Я же от вас не цитату просил, я просил буквально
что такое потоки в вашем понимании архитектуры процессора.
мне кажется, что вы не понимаете, что такое потоки (нити, трэды). Вы не считайте, что я вас как-то “напрягаю” в дворовом понимании, тут гопников нет. Мы ищем истину.
Смотрите, есть одно ядро процессора или семь ядер, это не важно. Допустим, что одно. Совсем еще недавно было доступно только одно. Как по вашему работает параллельное выполнение ста потоков на только одном ядре процессора? Реально же ведь только одна команда процессора может выполниться в единицу времени.
Pironity
FishHook
Как по вашему работает параллельное выполнение ста потоков на только одном ядре процессора? Реально же ведь только одна команда процессора может выполниться в единицу времени.
SIMD
FishHook
GHTRU
Pironity
RD, PRS, FRS, TRS
FishHook
Вам надоело общаться по человечески?
Слушайте, вас труднго понять. Вы пришли на форум с проблемой “Не понимаю многопоточность”. Ну Ок, давайте пробовать понимать. Вы зачем кривляетесь то, вы хотите мне что-то доказать? А как это решит вашу проблему?
Pironity
FishHook
Вам надоело общаться по человечески?Слушайте, вас труднго понять. Вы пришли на форум с проблемой “Не понимаю многопоточность”. Ну Ок, давайте пробовать понимать. Вы зачем кривляетесь то, вы хотите мне что-то доказать? А как это решит вашу проблему?
Прошу прощения, я подумал, что приводя аббревиатуры стратегий многопоточности, приведенных в книге, я отвечу на ваш вопрос о:
Как по вашему работает параллельное выполнение ста потоков на только одном ядре процессора?
Если не ответил, то своими словами. Есть 4 стратегии в процессорах интел - дублирование ресурсов, жесткое разделение ресурсов, полное разделение ресурсов и пороговое разделение ресурсов. Все они являются непосредственной частью реализации одновременного исполнения гипертрединга.
Если речь о старых процессорах, там реализуется SIMD - один реальный поток с несколькими потоками данных.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB