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

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

7
Чи є застарілі практики для багатопотокового та багатопроцесорного програмування, які я більше не повинен використовувати?
На початку FORTRAN та BASIC фактично всі програми були написані з заявами GOTO. Результатом став код спагетті, а рішення - структуроване програмування. Аналогічно, покажчики можуть мати труднощі з управління характеристиками в наших програмах. C ++ розпочався з великою кількістю покажчиків, але рекомендується використовувати посилання. Бібліотеки, такі як STL, можуть зменшити …

2
Чи може хтось простим словом пояснити, що таке схема руйнування?
Мені хотілося б, якби ви могли пояснити мені простим способом, як працює малюнок руйнування. Ця концепція була мені невловимою, як відомо. Можливо, з вашою допомогою я міг би це зрозуміти.

3
Чому б не зелені нитки?
Хоча я знаю, що питання з цього питання вже висвітлювалися (наприклад, https://stackoverflow.com/questions/5713142/green-threads-vs-non-green-threads ), я не відчуваю, що я отримав задовільну відповідь . Питання: чому JVM більше не підтримує зелені нитки? Це говорить про FAQ у стилі Java : Зелена нитка посилається на режим роботи для віртуальної машини Java (JVM), в …

6
Як би ви практикували паралельність і багатопотоковість? [зачинено]
Я читав про паралельність, багатопотоковість та про те, як "безкоштовний обід закінчився" . Але я ще не мав можливості використовувати MT у своїй роботі. Таким чином, я шукаю пропозиції щодо того, що б я міг зробити, щоб отримати певну практику роботи з важкими МТ процесора через навчання або участь у …

3
Чи GCC вмирає без підтримки потоків у Windows? [зачинено]
Мені потрібна думка. GCC завжди був дуже хорошим укладачем, але останнім часом він втрачає "привабливість". Щойно я виявив, що в Windows GCC немає std::threadпідтримки, змушуючи користувачів Windows використовувати інший компілятор, оскільки найцікавіша функція все ще відсутня. Але чому GCC насправді не підтримує потоки під Windows? Проблеми з ліцензією? Несумісності ABI? …

8
Коли вам знадобляться "сотні тисяч" ниток?
Erlang, Go і Rust всі так чи інакше стверджують, що вони підтримують паралельне програмування за допомогою дешевих "потоків" / процедур. У FAQ поширені запитання : Практично створити сотні тисяч goututines в одному адресному просторі. Rust Підручник каже: Оскільки завдання створюються значно дешевше, ніж традиційні потоки, Rust може створити сотні тисяч …

2
Неправдиве пояснення пробудження звучить як помилка, яку просто не варто виправляти, правда?
Згідно зі статтею Вікіпедії про Грізні пробудження "поток може бути пробуджений із стану очікування, навіть якщо жодна нитка не сигналізує про змінну умову". Хоча я знаю про цю "особливість", я ніколи не знав, що насправді викликало її, до тієї ж статті "Помилкові пробудження можуть здаватися дивними, але в деяких багатопроцесорних …

11
Насаджений багатопоточними помилками
У моїй новій команді, якою я керую, більшість нашого коду - це платформа, TCP-сокет і http-мережний код. Усі C ++. Більшість його походить від інших розробників, які покинули команду. Нинішні розробники в команді дуже розумні, але в основному молодші за рівнем досвіду. Наша найбільша проблема: багатопотокові помилки одночасності. Більшість наших …

3
UML-діаграми багатопотокових програм
Для однопотокових програм я люблю використовувати діаграми класів, щоб отримати огляд архітектури цього додатка. Цей тип діаграм, однак, не був дуже корисним при спробі зрозуміти сильно багатопотокові / одночасні програми, наприклад, тому що різні екземпляри класу "живуть" на різних потоках (тобто доступ до екземпляра зберігається лише від одного нитка, на …

7
На що ви звертаєте увагу при налагодженні тупиків?
Останнім часом я працюю над проектами, які активно використовують різьблення. Я думаю, що я все гаразд розробляю; якомога більше використовувати дизайн без громадянства, заблокувати доступ до всіх ресурсів, які потребують більше ніж одна нитка і т. д. Мій досвід функціонального програмування дуже допоміг цьому. Однак, читаючи код нитки інших людей, …

4
Що заважає умові перегонів на замку?
Я розумію основи того, що таке перегони даних, і як замки / мутекси / семафори допомагають запобігти їх. Але що станеться, якщо у вас на самому замку є "стан перегонів"? Наприклад, два різні потоки, можливо, в одній програмі, але працюють на різних процесорах, намагаються придбати замок точно в той самий …

10
Державні машини проти ниток
Алан Кокс одного разу сказав: "Комп'ютер - це державна машина. Нитки призначені для людей, які не можуть програмувати державні машини". Оскільки запитувати Алана прямо не є варіантом для мене смиренного, я б швидше запитав тут: як можна досягти багатопотокової функціональності в мові високого рівня, наприклад, Java, використовуючи лише одну нитку …

6
Багатопоточність: чи я це роблю неправильно?
Я працюю над додатком, який відтворює музику. Під час відтворення часто потрібно щось робити на окремих потоках, оскільки вони мають відбуватися одночасно. Наприклад, ноти акорду потрібно прослуховувати разом, тому кожному присвоюється власна тема для відтворення. (Редагувати, щоб уточнити: виклик note.play()заморожує нитку, поки нота не буде відтворена, і саме тому мені …

3
Чому для покращення продуктивності часто віддають перевагу багатопотоковість?
Це питання було переміщено із переповнення стека, оскільки на нього можна відповісти на Exchange Stack Exchange. Мігрували 7 років тому . У мене питання, це питання про те, чому програмісти, схоже, люблять паралельність і багатопотокові програми взагалі. Я розглядаю тут два основні підходи: асинхронний підхід, заснований на сигналах, або просто …

9
Питання інтерв'ю з багатопотоковим запитанням: Знайдіть n слів, заданих м потоками
Чи є така проблема, щоб ця проблема могла отримати користь від рішення з декількома потоками, а не з однією ниткою? В інтерв'ю мені запропонували вирішити проблему за допомогою декількох потоків. Мені здається, що кілька потоків не приносять користі. Ось проблема: Вам дають абзац, який містить n кількість слів, вам дано …

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