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

Багатопотоковість - це здатність комп'ютера або програми виконувати роботу одночасно або асинхронно, використовуючи кілька одночасних потоків виконання (зазвичай їх називають потоками).

5
Чи безпечна нитка Java Regex?
У мене є функція, яка використовує Pattern#compileі Matcherдля пошуку списку рядків для шаблону. Ця функція використовується в декількох потоках. Кожна нитка матиме унікальний зразок, переданий до того, Pattern#compileколи створюється нитка. Кількість потоків і шаблонів є динамічними, це означає, що я можу додати більше Patterns і потоків під час конфігурації. Чи …


3
STAThread та багатопоточна
З статті MSDN про STAThread: Вказує, що модель різьблення COM для програми - це однопоточна квартира (STA). (Для довідки, це вся стаття .) Квартира з однією різьбою ... Добре, що мені перейшло через голову. Крім того, я десь читав, що якщо ваша програма не використовує інтероп COM, цей атрибут насправді …
102 c#  .net  multithreading  sta 

4
Створення ниток - Task.Factory.StartNew vs нова тема ()
Я тільки дізнаюся про нові бібліотеки Threading і Paralellel у .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 - це типово приватні статичні поля в класах, які хочуть асоціювати стан з потоком (наприклад, ідентифікатор користувача або ідентифікатор транзакції)." Але моє запитання: чому вони вирішили зробити його статичним (як правило) - це робить дещо заплутаним стан "за …

6
Різниця між станами потоку WAIT і BLOCKED
Яка різниця між станом потоку ЗАЧЕКАЙТЕ і станом потоку БЛОКОВАНО? Документація щодо теми : Заблоковано Нитка, яка заблокована в очікуванні блокування монітора, знаходиться в такому стані. Очікування Нитка, яка чекає нескінченно часу, щоб інша нитка виконала певну дію, знаходиться в цьому стані не пояснює мені різниці.

5
Що таке "локальне зберігання потоків" в Python, і для чого він потрібен?
Як конкретно в Python, як поділяються змінні між потоками? Хоча я використовував threading.Threadраніше, я ніколи не розумів і не бачив прикладів того, як ділилися змінні. Чи поділяються вони між головною ниткою та дітьми чи лише серед дітей? Коли мені потрібно використовувати локальне сховище для потоків, щоб уникнути цього спільного доступу? …

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 …

9
Як змусити ThreadPoolExecutor збільшити нитки до max перед чергою?
Я деякий час був розчарований поведінкою за замовчуванням, ThreadPoolExecutorяка підтримує ExecutorServiceнитки пулів, якими користується так багато з нас. Цитувати з Javadocs: Якщо запущено більше, ніж corePoolSize, але менше максимального потокуPoolSize, новий потік буде створений, лише якщо черга заповнена . Це означає, що якщо ви визначите пул потоків із наступним кодом, …

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

5
Чекаємо, поки завдання закінчиться
Як я можу змусити свій код чекати, поки завдання в DispatchQueue закінчиться? Чи потрібен якийсь CompletionHandler чи щось таке? func myFunction() { var a: Int? DispatchQueue.main.async { var b: Int = 3 a = b } // wait until the task finishes, then print print(a) // - this will contain …

4
Різниця між DispatchQueue.main.async та DispatchQueue.main.sync
Я вже давно використовую DispatchQueue.main.asyncдля виконання операцій, пов'язаних з інтерфейсом користувача. Свіфт надає і те, і інше DispatchQueue.main.async і DispatchQueue.main.sync, і обидва виконуються в основній черзі. Хтось може сказати мені різницю між ними? Коли слід використовувати кожну? DispatchQueue.main.async { self.imageView.image = imageView self.lbltitle.text = "" } DispatchQueue.main.sync { self.imageView.image = …

3
Безпечний доступ до UI (Main) Thread у 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
Поточний SynchronizationContext не може використовуватися як програмування завдань
Я використовую Завдання, щоб виконувати тривалі дзвінки на сервер у своєму ViewModel, і результати повторно Dispatcherвикористовуються TaskScheduler.FromSyncronizationContext(). Наприклад: var context = TaskScheduler.FromCurrentSynchronizationContext(); this.Message = "Loading..."; Task task = Task.Factory.StartNew(() => { ... }) .ContinueWith(x => this.Message = "Completed" , context); Це добре працює, коли я виконую програму. Але коли я …

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