Я не вижу ничего, кроме for (var key in foo)
.
И процессы и потоки являются независимыми последовательностями выполнения. Типичное различие то, что потоки (того же процесса) выполнено в пространстве общей памяти, в то время как процессы, выполненные в отдельных пространствах памяти.
я не уверен, к каким "аппаратным средствам" по сравнению с потоками "программного обеспечения" Вы могли бы обращаться. Потоки являются функцией операционной среды, а не функцией CPU (хотя ЦП обычно начинает операции, которые делают потоки эффективными).
Erlang использует термин "процесс", потому что это не представляет модель мультипрограммирования общей памяти. Вызов их, "потоки" подразумевали бы, что у них есть общая память.
И потоки и процессы являются атомарными единицами распределения ресурсов ОС (т.е. существует модель параллелизма описание, как процессорное время разделено между ними и моделью владения другими ресурсами ОС). Существует различие в:
Greg Hewgill выше был корректен о значении Erlang слова "процесс", и здесь существует обсуждение того, почему Erlang мог сделать легкий вес процессов.
Процесс является набором кода, памяти, данных и других ресурсов. Поток является последовательностью кода, который выполнен в рамках процесса. У Вас может (обычно) быть несколько потоков, выполняющихся одновременно в рамках того же процесса.
приложение состоит из одного или нескольких процессов. Процесс, простым языком, является программой выполнения. Один или несколько потоков, выполненных в контексте процесса. Поток является основной единицей, которой операционная система выделяет процессорное время. Поток может выполнить любую часть кода процесса, включая части, в настоящее время выполняемые другим потоком. Волокно является единицей выполнения, которое должно быть вручную запланировано приложением. Волокна работают в контексте потоков, которые планируют их.
Украденный от здесь .
Процесс
Каждый процесс обеспечивает, ресурсы должны были выполнить программу. Процесс имеет виртуальное адресное пространство, исполняемый код, открытые дескрипторы к системным объектам, контексту защиты, уникальному идентификатору процесса, переменным среды, классу приоритета, минимальным и максимальным размерам рабочего набора и по крайней мере одному потоку выполнения. Каждый процесс запускается с единственного потока, часто названного основным потоком, но может создать дополнительные потоки из любого из его потоков.
Поток
поток А является объектом в рамках процесса, который может быть запланирован для выполнения. Все потоки процесса совместно используют его виртуальное адресное пространство и системные ресурсы. Кроме того, каждый поток поддерживает обработчики исключений, приоритет планирования, локальную память потока, уникальный идентификатор потока и ряд структур, которые система будет использовать для сохранения контекста потока, пока это не будет запланировано. Контекст потока включает набор потока регистров машины, стопки ядра, блока среды потока и пользовательской стопки в адресном пространстве процесса потока. Потоки могут также иметь свой собственный контекст защиты, который может использоваться для исполнения роли клиентов.
Найденный этим на MSDN здесь:
О Процессах и Потоках
Microsoft Windows поддерживает вытесняющую многозадачность, которая создает эффект одновременного выполнения нескольких потоков от нескольких процессов. На многопроцессорном компьютере система может одновременно выполнить столько же потоков, сколько существуют процессоры на компьютере.
Процесс:
Поток:
Я позаимствовал приведенную выше информацию из Квеста Знаний! блог .
Процесс - Программа в выполнении
Поток - поток является выполнением самой маленькой последовательности запрограммированных инструкций
, Например, - Вы хотите вычислить умножение матриц, которое Вы запишете программе 3 для циклов, внутри основных, и выполните ее. Теперь это - Ваш процесс.
Теперь та же программа можно решить путем создания потоков и присвоения каждого потока для выполнения результата строки. Каждый поток будет работать независимо, и результат будет сохраненный в массиве. Поскольку потоки совместно используют ту же память в процессе.
В Обоих результат случаев будет тем же.