Запитання з тегом «multithreading»

Питання, пов'язані з різними нитками, включаючи техніку, структуру та питання безпеки.

3
Чому Python був написаний з GIL?
Глобальний замок інтерпретатора (GIL), здається, часто називають основною причиною того, чому нарізка ниток тощо - це хитрість у Python - що викликає питання "Чому це було зроблено в першу чергу?" Будучи не програмістом, я не маю поняття, чому це могло бути - якою була логіка введення GIL?

13
Що може зробити декілька потоків, коли одна нитка не може? [зачинено]
Хоча потоки можуть пришвидшити виконання коду, вони дійсно потрібні? Чи можна виконати кожен фрагмент коду за допомогою однієї нитки чи є щось таке, що може бути досягнуто лише за допомогою декількох потоків?

4
Що таке пул потоків?
Як би реалізувати нитку? Я читав у wikipedia про "streampool", але все ще не можу зрозуміти, що слід зробити для вирішення цього питання (можливо, тому, що я не зовсім зрозумів, що таке "streampool"). Чи може хтось пояснити мені простою англійською мовою, що таке нитка і як можна відповісти на це …

3
Як одна нитка працює на декількох ядрах?
Я намагаюся зрозуміти на високому рівні, як поодинокі нитки проходять по декількох ядрах. Нижче моє найкраще розуміння. Я не вважаю, що це правильно. На основі мого читання Hyper-Threading , здається, ОС організовує вказівки всіх потоків таким чином, що вони не чекають один одного. Тоді лицьовий процесор додатково впорядковує ці вказівки, …

15
Наскільки важлива багатопотокова редакція в сучасній галузі програмного забезпечення? [зачинено]
Я маю майже 3-річний досвід написання веб-додатків на Java за допомогою MVC фреймворків (як-от стійки). Я ніколи не писав багатопотокового коду до цих пір, хоча написав код для великих торгових мереж. Я отримую кілька запитань про багатопотоковість під час інтерв'ю, і я відповідаю на них зазвичай (переважно прості запитання). Це …

1
Чи є різниця між волокнами, корутини та зеленими нитками, і якщо це так, що це?
Сьогодні я читав в Інтернеті кілька статей про волокна, супроводи та зелені нитки, і, схоже, ці поняття мають дуже багато спільного, але є невеликі відмінності, особливо коли ми говоримо про волокна та супроти. Чи є стислий, правильний підсумок того, що їх відрізняє один від одного? Оновлення: Я вважаю, що документ, …

12
Чому для програми потрібна мінімальна кількість ядер CPU?
Чи можливо написати код (або повне програмне забезпечення, а не фрагмент коду), який не працюватиме належним чином при роботі на процесорі, що має менше N ядер? Не перевіряючи це чітко і не відмовляючись спеціально: ЯКЩО (noOfCores <4) ТАКОЖ не запускається належним чином Я переглядаю мінімальні системні вимоги до гри ( …

6
Тестування перегонів на багатопотокових перегонах
Читання коментарів до цієї відповіді , зокрема: Тільки тому, що ви не можете написати тест, не означає, що він не порушений. Невизначена поведінка, яка, як правило, працює так, як очікувалося (C і C ++ сповнена цього), умови перегонів, потенційне переупорядкування через слабку модель пам'яті ... - CodesInChaos 7 годин тому …

16
Чи варто подбати про умови перегонів, які майже напевно не мають шансів виникнути?
Розглянемо щось на зразок програми GUI, де головний потік оновлює інтерфейс користувача миттєво, а інший потік запитує дані по мережі або щось, на що гарантовано потрібно 5-10 секунд, щоб закінчити завдання. Я отримав багато різних відповідей на це, але деякі люди кажуть, що якщо це расовий стан статистичної неможливості, то …

8
Які недоліки зробити багатопотокову реалізацію JavaScript? [зачинено]
Я працював над багатопотоковою реалізацією JavaScript протягом минулого тижня. У мене є доказ концепції, зробленої на C ++ за допомогою JavaScriptCore та boost. Архітектура проста: коли час закінчення оцінювання основного сценарію він запускається та приєднується до пулу потоків, який починає вибирати завдання із спільної черги пріоритетів, якщо дві задачі намагаються …

19
Обслуговування фонових завдань на великому сайті
Ми маємо справу з цікавою проблемою на StackOverflow. У нас є ціла купа маленьких завдань, які повинні швидко виконуватись. Приклад - оновлення списків "Пов'язані запитання". Що ми робили раніше - це повернути ці завдання на завантаження сторінок деяких користувачів. Це ніколи не було ідеальним, але це було не дуже помітно. …

1
Чи є басейни goroutine go-langs зеленими нитками?
Тут коментатор пропонує наступну критику зелених ниток: Спочатку я продавався на моделі N: M як засіб програмування, керованого подіями, без пекла зворотного виклику. Ви можете писати код, який виглядає як больовий старий процедурний код, але під ним є магія, яка використовує комутацію завдань у просторі користувачів, коли щось блокується. Звучить …

10
Чому ваш код не повинен використовувати 100% процесор? [зачинено]
Я конкретно кажу про програму C # .NET 4, що працює на Windows XP або новішої версії, але загальні відповіді також прийнятні. Припустимо вже оптимізовану та ефективну програму. Проблема тут полягає лише у впливі високого використання процесора на апаратне забезпечення, а також про те, чи слід використовувати програму з високим …
42 c#  multithreading  cpu  usage 

5
Чи повністю виключає незмінність необхідності блокування в багатопроцесорному програмуванні?
Частина 1 Очевидно, що незмінність мінімізує потребу в блокуваннях в багатопроцесорному програмуванні, але чи усуває це потреба, чи є випадки, коли однієї незмінюваності недостатньо? Мені здається, ви можете лише відкладати обробку та інкапсулювати стан так довго, перш ніж більшість програм насправді повинні щось зробити (оновити сховище даних, створити звіт, викинути …

4
Чому відповідальність за виклик відповідає за забезпечення безпеки потоку в програмуванні GUI?
Я бачив, в багатьох місцях, що канонічна мудрість 1 полягає в тому, що відповідальність за абонентом повинен бути впевненим, що ви знаходитесь в потоці інтерфейсу користувача під час оновлення компонентів інтерфейсу користувача (зокрема, в Java Swing, що ви перебуваєте в Dispatch Thread Event ) . Чому це так? Нитка розсилки …

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