Вопросы с тегом «multithreading»

Многопоточность - это способность компьютера или программы выполнять работу одновременно или асинхронно, используя несколько одновременных потоков выполнения (обычно называемых потоками).

26
Как мне выполнить модульное тестирование многопоточного кода?
До сих пор я избегал кошмара, в котором тестируется многопоточный код, поскольку он кажется слишком большим минным полем. Я хотел бы спросить, как люди пошли на тестирование кода, который опирается на потоки для успешного выполнения, или просто как люди пошли на тестирование тех видов проблем, которые проявляются только тогда, когда …

22
Какое ключевое слово volatile полезно для
На работе сегодня я наткнулся на volatileключевое слово в Java. Не очень знакомый с этим, я нашел это объяснение: Теория и практика Java: управление волатильностью Учитывая детали, в которых эта статья объясняет данное ключевое слово, вы когда-нибудь использовали его или могли когда-нибудь увидеть случай, когда вы могли бы использовать это …

9
Летучий против Блокированный против блокировки
Допустим, у класса есть public int counterполе, доступ к которому осуществляется несколькими потоками. Это intтолько увеличивается или уменьшается. Чтобы увеличить это поле, какой подход следует использовать и почему? lock(this.locker) this.counter++;, Interlocked.Increment(ref this.counter);, Измените модификатор доступа counterна public volatile. Теперь, когда я обнаружил volatile, я удалил много lockутверждений и использование Interlocked. …

10
Что такое мьютекс?
Мьютекс - это концепция программирования, которая часто используется для решения многопоточных задач. Мой вопрос к сообществу: Что такое мьютекс и как вы его используете?

22
Недопустимая операция между потоками: доступ к элементу управления из потока, отличного от потока, в котором он был создан
У меня есть сценарий. (Windows Forms, C #, .NET) Существует основная форма, которая содержит некоторый пользовательский элемент управления. Пользовательский элемент управления выполняет некоторую сложную операцию с данными, так что, если я напрямую вызываю UserControl_Loadметод, пользовательский интерфейс перестает отвечать на запросы при выполнении метода загрузки. Чтобы преодолеть это, я загружаю данные …



16
Почему блокировка (это) {…} плохая?
В документации MSDN сказано, что public class SomeObject { public void SomeOperation() { lock(this) { //Access instance variables } } } «проблема, если экземпляр доступен публично». Мне интересно почему? Это потому, что замок будет держаться дольше, чем необходимо? Или есть еще какая-то коварная причина?

11
Какова цель Looper и как его использовать?
Я новичок в Android. Я хочу знать, что Looperделает класс, а также как его использовать. Я прочитал документацию по классу Android Looper, но не могу понять ее полностью. Я видел это во многих местах, но не мог понять его цель. Может ли кто-нибудь помочь мне, определив цель, Looperа также приведя …

18
Как можно использовать многопоточность в приложениях PHP
Существует ли реалистичный способ реализации многопоточной модели в PHP, будь то по-настоящему или просто имитировать ее. Некоторое время назад было предложено заставить операционную систему загружать другой экземпляр исполняемого файла PHP и обрабатывать другие одновременные процессы. Проблема в том, что, когда PHP-код завершил выполнение, экземпляр PHP остается в памяти, потому что …


6
В чем разница между Invoke () и BeginInvoke ()
Просто интересно, какая разница между BeginInvoke()и Invoke()есть? Главным образом, для чего будет использоваться каждый. РЕДАКТИРОВАТЬ: В чем разница между созданием потокового объекта и вызова invoke на этом и просто вызов BeginInvoke()делегата? или это одно и то же?



7
Простой пример многопоточности в C ++
Ответы на этот вопрос - работа сообщества . Отредактируйте существующие ответы, чтобы улучшить этот пост. В настоящее время он не принимает новые ответы или взаимодействия. Может кто-нибудь опубликовать простой пример запуска двух (объектно-ориентированных) потоков в C ++. Я ищу фактические объекты потока C ++, на которые я могу расширить методы …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.