Ручки проти ниток проти процесів


7

Чи є різниця між потоком і процесом?

Я намагаюся зрозуміти обчислення системних даних, перелічених на вкладці продуктивності.

Ручки: 48097 Нитки: 1602 Процеси: 99 Час роботи: 17: 23: 02: 02 Коміс (ГБ): 3/15


Так. Що вам сказали ваші дослідження? Ви шукали "яка різниця між потоком і процесом"?
DavidPostill


Моє дослідження є частиною задавання питань. Сподіваюсь, це не надто заплутано
JohnNg

1
Це дуже заплутано. Прочитайте, будь ласка, як мені поставити гарне запитання? в ньому написано: "Ви ретельно шукали відповідь, перш ніж задавати своє питання? Спільний доступ до досліджень допомагає всім. Розкажіть нам, що ви знайшли і чому це не відповідає вашим потребам. Це демонструє, що ви знайшли час, щоб спробувати допомогти собі , це рятує нас від повторення очевидних відповідей, і, перш за все, допомагає отримати більш конкретну та релевантну відповідь! "
DavidPostill

Відповіді:


13

Оскільки відповідь StackOverflow настільки абстрактна, а агностична ОС, наскільки вона є марною для конкретного запитання ops, я публікую відповідь для Windows.

Процес - це ізольована структура пам'яті, яка підтримує додаток в апаратному та програмному забезпеченні ОС. Процес Windows містить 1 або більше потоків. https://en.wikipedia.org/wiki/Process_%28computing%29

Нитка - це потік послідовних інструкцій машинного коду, які виконує процесор. За винятком переривань, кожен раз, коли ЦП виконує Інструкцію від імені програми, це робить це тому, що в ній міститься нитка. Нитки в процесі можуть отримати доступ до пам'яті процесів (настільки, що конкретна операція на елементі пам'яті є "безпечною для потоків" і не представляє невзгоджених проблем одночасності, коли одночасно виконується більше ніж один потік). Додаток може пришвидшити свою роботу за допомогою декількох потоків, кожен з яких виконує ізольоване завдання, одночасно запускаючи потік інструкцій через інший блок виконання CPU (CPU / core / virtual core) одночасно. https://en.wikipedia.org/wiki/Thread_%28computing%29

Ручка - це логічна асоціація із спільним ресурсом, як-от файл, вікно, розташування пам'яті тощо. Коли нитка відкриває файл, вона встановлює "ручку" для файлу, а внутрішньо вона діє як "ім'я" для цього примірника файлу. Ручки використовуються для зв’язку з тимчасовими або екологічними ресурсами за межами структури пам'яті процесів. Витік ручки типу випуску програмного забезпечення , яке в крайніх випадках, дестабілізувати систему. Це викликано програмою, яка запитує ручку на ресурс, і не в змозі розмістити її, коли програма виконана з ресурсом. Однак, виходячи з вашого номера, я не бачу нічого поганого. https://en.wikipedia.org/wiki/Handle_%28computing%29


Дякую Френку, це було дуже просто і корисно. Я намагаюся зрозуміти розбиття в розрахунках, тому це підштовхне мене в правильному напрямку.
JohnNg
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.