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

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

3
Обробка одного файлу з декількох процесів
У мене є один великий текстовий файл, в якому я хочу обробити кожен рядок (виконати деякі операції) і зберегти їх у базі даних. Оскільки одна проста програма займає занадто багато часу, я хочу, щоб це робилося за допомогою декількох процесів або потоків. Кожен потік / процес повинен зчитувати РІЗНІ дані …

10
Invoke або BeginInvoke не можна викликати на елементі керування, доки не буде створено дескриптор вікна
У мене є метод розширення SafeInvoke Control, подібний до того, який тут обговорює Грег Д. (мінус перевірка IsHandleCreated). Я називаю це з System.Windows.Forms.Formнаступного: public void Show(string text) { label.SafeInvoke(()=>label.Text = text); this.Show(); this.Refresh(); } Іноді (цей виклик може надходити з різних потоків) це призводить до такої помилки: System.InvalidOperationException відбулося Message= …



15
Чи читає та пише С ++ атомний?
У мене є два потоки, один оновлює int, а другий читає його. Це статистичне значення, коли порядок читання та запису не має значення. Моє запитання: чи потрібно мені все одно синхронізувати доступ до цього багатобайтового значення? Або, інакше кажучи, частина записування може бути завершена і перервана, і тоді читання відбудеться. …

2
Чому в ArrayBlockingQueue копіюється поле остаточного члена в локальну кінцеву змінну?
В ArrayBlockingQueue, всі методи , які вимагають блокування скопіювати його в локальну finalзмінну перед викликом lock(). public boolean offer(E e) { if (e == null) throw new NullPointerException(); final ReentrantLock lock = this.lock; lock.lock(); try { if (count == items.length) return false; else { insert(e); return true; } } finally …


3
Профілювання Java JVM, стан потоку - що означає статус “Монітор”?
Я використовую visualVM для підключення багатопотокової програми Java, потік має 4 статуси, а саме працює, сплячий, чекає, монітор. Що означає цей статус моніторингу? Яка різниця між очікуванням та монітором?

15
'використання' твердження проти 'спробувати нарешті'
У мене є купа властивостей, для яких я буду використовувати блокування читання / запису. Я можу реалізувати їх або за try finallyдопомогою usingпункту, або речення. В try finallyя б придбав замок до try, і відпустив в finally. У цьому usingреченні я б створив клас, який отримує замок у своєму конструкторі …

4
Змініть елементи керування WPF з не основного потоку за допомогою Dispatcher.Invoke
Нещодавно я почав програмувати у WPF і наткнувся на наступну проблему. Я не розумію, як використовувати Dispatcher.Invoke()метод. Я маю досвід роботи з потоками і створив кілька простих програм Windows Forms, де я щойно використовував Control.CheckForIllegalCrossThreadCalls = false; Так, я знаю, що це досить кульгаво, але це були прості програми моніторингу. …

6
NSOperation та NSOperationQueue робочий потік проти основного потоку
Я повинен виконати серію операцій завантаження та запису бази даних у своєму додатку. Я використовую NSOperationі NSOperationQueueдля того ж. Це сценарій застосування: Отримати всі поштові індекси з місця. Для кожного поштового індексу отримуйте всі будинки. Для кожного будинку принесіть дані мешканця Як вже було сказано, я визначив NSOperationдля кожного завдання. …

3
ОЧІКУВАННЯ на sun.misc.Unsafe.park (рідний метод)
Одне з моїх програм зависає під деяким періодом роботи під навантаженням, чи хтось знає, що може спричинити такий вихід у jstack: "scheduler-5" prio=10 tid=0x00007f49481d0000 nid=0x2061 waiting on condition [0x00007f494e8d0000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x00000006ee117310> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043) at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1085) at …

4
Як налаштувати тонко налаштований пул потоків для ф’ючерсів?
Наскільки великий пул потоків Scala для ф’ючерсів? Мій додаток Scala робить багато мільйонів future {}с, і мені цікаво, чи можу я щось зробити для їх оптимізації, налаштувавши пул потоків. Дякую.

10
Коли ReaderWriterLockSlim кращий за простий замок?
Я роблю дуже безглуздий орієнтир на ReaderWriterLock з цим кодом, де читання відбувається в чотири рази частіше, ніж написання: class Program { static void Main() { ISynchro[] test = { new Locked(), new RWLocked() }; Stopwatch sw = new Stopwatch(); foreach ( var isynchro in test ) { sw.Reset(); sw.Start(); …

8
ContextSwitchDeadlock виявлено помилку в C #
Я запускаю програму C #, і під час виконання я отримую таку помилку: CLR не зміг перейти від контексту COM 0x20e480 до контексту COM 0x20e5f0 протягом 60 секунд. Потік, якому належить цільовий контекст / квартира, швидше за все, або робить неперекачувальне очікування, або обробляє дуже тривалу операцію без перекачування повідомлень …

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