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

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

5
Является ли Java Regex Thread Safe?
У меня есть функция, которая использует Pattern#compileи Matcherдля поиска шаблона в списке строк. Эта функция используется в нескольких потоках. Каждый поток будет иметь уникальный шаблон, передаваемый в Pattern#compileпри создании потока. Количество потоков и шаблонов является динамическим, что означает, что я могу добавить больше Patternпотоков и потоков во время настройки. Нужно …


3
STAThread и многопоточность
Из статьи MSDN о STAThread: Указывает, что модель потоков COM для приложения является однопоточным подразделением (STA). (Для справки, это вся статья .) Однопоточная квартира ... Ладно, это перебило меня. Кроме того, я где-то читал, что если ваше приложение не использует COM-взаимодействие, этот атрибут вообще ничего не делает. Так что именно …
103 c#  .net  multithreading  sta 


4
Создание потоков - Task.Factory.StartNew vs new Thread ()
Я только изучаю новые библиотеки Threading и Parallel в .Net 4 Раньше я бы создал новый поток, например, так (в качестве примера): DataInThread = new Thread(new ThreadStart(ThreadProcedure)); DataInThread.IsBackground = true; DataInThread.Start(); Теперь я могу: Task t = Task.Factory.StartNew(() => { ThreadProcedure(); }); В чем разница, если она есть? Спасибо

7
Почему переменные Java ThreadLocal должны быть статическими
Я читал здесь JavaDoc для Threadlocal https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/ThreadLocal.html и говорится: «Экземпляры ThreadLocal обычно представляют собой частные статические поля в классах, которые хотят связать состояние с потоком (например, ID пользователя или ID транзакции)». Но у меня вопрос: почему они решили сделать его статическим (как правило) - это немного сбивает с толку наличие …

6
Разница между состояниями WAIT и BLOCKED потока
В чем разница между состоянием потока WAIT и состоянием потока ЗАБЛОКИРОВАНО? Документация Thread.State : Заблокирован. В этом состоянии находится поток, который заблокирован в ожидании блокировки монитора. Ожидание Поток, который бесконечно ожидает выполнения другим потоком определенного действия, находится в этом состоянии. не объясняет мне разницу.

2
Как анализировать дамп потока Java?
Я пытаюсь больше узнать о Java, особенно об управлении памятью и потоках. По этой причине я недавно заинтересовался дампами потоков. Вот несколько строк, взятых из веб-приложения, использующего VisualVM, встроенный инструмент для java: "Finalizer" daemon prio=8 tid=0x02b3d000 nid=0x898 in Object.wait() [0x02d0f000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting …

5
Что такое «локальное хранилище потоков» в Python и зачем оно мне нужно?
В частности, в Python, как переменные распределяются между потоками? Хотя я использовал threading.Threadраньше, я никогда по-настоящему не понимал и не видел примеров того, как разделяются переменные. Распространены ли они между основным потоком и детьми или только между детьми? Когда мне нужно будет использовать локальное хранилище потоков, чтобы избежать этого совместного …

9
Как заставить ThreadPoolExecutor увеличивать потоки до максимума перед постановкой в ​​очередь?
Некоторое время я был разочарован поведением по умолчанию, ThreadPoolExecutorкоторое поддерживает ExecutorServiceпулы потоков, которые используют многие из нас. Цитата из Javadocs: Если количество запущенных потоков больше corePoolSize, но меньше maximumPoolSize, новый поток будет создан только в том случае, если очередь заполнена . Это означает, что если вы определите пул потоков с …


3
Контекст переключается намного медленнее в новых ядрах Linux
Мы планируем обновить ОС на наших серверах с Ubuntu 10.04 LTS до Ubuntu 12.04 LTS. К сожалению, кажется, что задержка для запуска потока, который стал работоспособным, значительно увеличилась с ядра 2.6 до ядра 3.2. На самом деле в получаемые нами значения задержки трудно поверить. Позвольте мне уточнить тест. У нас …

3
Безопасный доступ к потоку пользовательского интерфейса (основного) в WPF
У меня есть приложение, которое обновляет мою сетку данных каждый раз, когда файл журнала, который я наблюдаю, обновляется (с добавлением нового текста) следующим образом: private void DGAddRow(string name, FunctionType ft) { ASCIIEncoding ascii = new ASCIIEncoding(); CommDGDataSource ds = new CommDGDataSource(); int position = 0; string[] data_split = ft.Data.Split(' '); …

3
Текущий контекст синхронизации нельзя использовать в качестве планировщика задач.
Я использую задачи для выполнения длительных вызовов сервера в моей модели просмотра, и результаты снова упорядочиваются при Dispatcherиспользовании TaskScheduler.FromSyncronizationContext(). Например: var context = TaskScheduler.FromCurrentSynchronizationContext(); this.Message = "Loading..."; Task task = Task.Factory.StartNew(() => { ... }) .ContinueWith(x => this.Message = "Completed" , context); Это нормально работает, когда я запускаю приложение. Но …

3
Если потоки используют один и тот же PID, как их можно идентифицировать?
У меня есть запрос, связанный с реализацией потоков в Linux. Linux не имеет явной поддержки потоков. В пользовательском пространстве мы можем использовать библиотеку потоков (например, NPTL) для создания потоков. Теперь, если мы используем NPTL, он поддерживает отображение 1: 1. Ядро будет использовать эту clone()функцию для реализации потоков. Предположим, я создал …

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