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

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

10
C # Припинення потоку та Thread.Abort ()
У MSDN в описі методу Thread.Abort () сказано: "Виклик цього методу зазвичай завершує потік". Чому б НЕ ЗАВЖДИ? У яких випадках це не припиняє потік? Чи є якась інша можливість припинення потоків?

13
Чи мінливе ключове слово C ++ вводить паркан пам'яті?
Я розумію, що volatileповідомляє компілятору про те, що значення може бути змінено, але для того, щоб виконати цю функціональність, чи потрібно компілятору вводити огорожу пам'яті, щоб він працював? Наскільки я розумію, послідовність операцій з нестабільними об’єктами не може бути впорядкована і повинна бути збережена. Це, мабуть, означає, що деякі огорожі …

6
Чи залишається заблокований об’єкт заблокованим, якщо всередині нього виникає виняток?
Якщо в програмі потокової передачі змінного струму ac # потрібно заблокувати об’єкт, скажімо чергу, і якщо виникне виняток, чи буде об’єкт заблокований? Ось псевдокод: int ii; lock(MyQueue) { MyClass LclClass = (MyClass)MyQueue.Dequeue(); try { ii = int.parse(LclClass.SomeString); } catch { MessageBox.Show("Error parsing string"); } } Як я розумію, код після …


6
Як перевірити, чи все ще працює потік std ::?
Як я можу перевірити, чи std::threadвсе ще працює a (незалежно від платформи)? У ньому бракує timed_join()методу, і joinable()він не призначений для цього. Я думав зафіксувати мьютекс за допомогою а std::lock_guardу потоці та використати try_lock()метод мьютексу, щоб визначити, чи він все ще заблокований (потік запущений), але мені здається це надмірно складним. …

4
WebBrowser Control в новому ланцюжку
У мене є список Uri, який я хочу "натиснути". Для цього я намагаюся створити новий елемент керування веб-браузером для Uri. Я створюю новий потік для Uri. повністю завантажений, тому я ніколи не користуюся подією DocumentComplete. Як я можу це подолати? var item = new ParameterizedThreadStart(ClicIt.Click); var thread = new Thread(item) …

11
Як отримати цілочисельний ідентифікатор потоку в c ++ 11
c ++ 11 має можливість отримати поточний ідентифікатор потоку, але його не можна передати цілочисельному типу: cout<<std::this_thread::get_id()<<endl; вихід: 139918771783456 cout<<(uint64_t)std::this_thread::get_id()<<endl; помилка: недійсне приведення з типу 'std :: thread :: id' до типу 'uint64_t' те саме для інших типів: недійсне приведення з типу 'std :: thread :: id' до типу 'uint32_t' …

5
Одночасний словник Правильне використання
Чи правильно я вважаю, що це правильне використання одночасного словника private ConcurrentDictionary<int,long> myDic = new ConcurrentDictionary<int,long>(); //Main thread at program startup for(int i = 0; i < 4; i++) { myDic.Add(i, 0); } //Seperate threads use this to update a value myDic[InputID] = newLongValue; У мене немає блокувань тощо, і …


5
Використання глобальної змінної з потоком
Як поділитися глобальною змінною з потоком? Мій приклад коду Python: from threading import Thread import time a = 0 #global variable def thread1(threadname): #read variable "a" modify by thread 2 def thread2(threadname): while 1: a += 1 time.sleep(1) thread1 = Thread( target=thread1, args=("Thread-1", ) ) thread2 = Thread( target=thread2, args=("Thread-2", …

4
Враховуючи, що HashMaps у jdk1.6 та вище викликають проблеми з multi = потоками, як мені виправити свій код
Нещодавно я підняв питання в stackoverflow, а потім знайшов відповідь. Початкове питання полягало в тому, які механізми, крім mutexx або збору сміття, можуть уповільнити мою багатопотокову програму Java? Я на свій жах виявив, що HashMap було змінено між JDK1.6 і JDK1.7. Тепер він має блок коду, який змушує всі потоки, …

5
Викликання методу в основному потоці?
Перш за все я пишу код для iphone. Мені потрібно мати можливість викликати метод в основному потоці без використання performSelectorOnMainThread. Причина, по якій я не хочу використовувати, performSelectorOnMainThreadполягає в тому, що це викликає проблеми, коли я намагаюся створити макет для модульного тестування. [self performSelectorOnMainThread:@Selector(doSomething) withObject:nil]; Проблема в тому, що мій …

3
Отримайте статус std :: future
Чи можна перевірити std::future, закінчив чи ні? Наскільки я можу сказати, єдиним способом це буде зателефонувати wait_forз нульовою тривалістю і перевірити, чи є статус readyчи ні, але чи є кращий спосіб?

2
Скільки потоків породжується паралельним потоком у Java 8?
У JDK8, скільки потоків породжується, коли я використовую паралельний потік? Наприклад, у коді: list.parallelStream().forEach(/** Do Something */); Якщо цей список містить 100000 елементів, скільки потоків буде породжено? Крім того, чи отримує кожна з ниток однакову кількість предметів для роботи, чи вона виділяється випадковим чином?

4
Як оновити ObservableCollection за допомогою робочого потоку?
У мене є ObservableCollection<A> a_collection;колекція, що містить 'n' елементів. Кожен елемент А виглядає так: public class A : INotifyPropertyChanged { public ObservableCollection<B> b_subcollection; Thread m_worker; } По суті, все це підключено до перегляду списку WPF + b_subcollectionелемента керування переглядом деталей, який відображає вибраний елемент в окремому перегляді списку (двосторонні прив'язки, …

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