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

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

6
std :: unique_lock <std :: mutex> або std :: lock_guard <std :: mutex>?
На цей питання є відповіді на Stack Overflow на російському : Чем std :: unique_lock отличается от std :: lock_guard? У мене є два випадки використання. A. Я хочу синхронізувати доступ двома потоками до черги. B. Я хочу синхронізувати доступ двома потоками до черги та використовувати змінну умови, оскільки одна …

9
Нитка пулу схожа на багатопроцесорний пул?
Чи існує клас Pool для робочих ниток , подібний до класу Pool багатопроцесорного модуля ? Мені подобається, наприклад, простий спосіб паралелізації функції карти def long_running_func(p): c_func_no_gil(p) p = multiprocessing.Pool(4) xs = p.map(long_running_func, range(100)) однак я хотів би зробити це без накладних витрат на створення нових процесів. Я знаю про GIL. …

20
Як отримати повернене значення з потоку в python?
Функція fooнижче повертає рядок 'foo'. Як я можу отримати значення, 'foo'яке повертається з цілі потоку? from threading import Thread def foo(bar): print('hello {}'.format(bar)) return 'foo' thread = Thread(target=foo, args=('world!',)) thread.start() return_value = thread.join() "Один очевидний спосіб зробити це", показаний вище, не працює: thread.join()повернуто None.

13
Викликає потік не може отримати доступ до цього об'єкта, оскільки інший потік йому належить
Мій код як нижче public CountryStandards() { InitializeComponent(); try { FillPageControls(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Country Standards", MessageBoxButton.OK, MessageBoxImage.Error); } } /// &lt;summary&gt; /// Fills the page controls. /// &lt;/summary&gt; private void FillPageControls() { popUpProgressBar.IsOpen = true; lblProgress.Content = "Loading. Please wait..."; progress.IsIndeterminate = true; worker = new …

15
Як запустити простий біт коду в новій темі?
У мене є трохи коду, який мені потрібно запустити в іншому потоці, ніж GUI, оскільки він в даний час призводить до застигання форми під час роботи коду (10 секунд або близько того). Припустимо, я ніколи раніше не створював нової теми; який простий / основний приклад того, як це зробити в …
340 c#  .net  multithreading 


16
Запуск коду в основному потоці з іншого потоку
У сервісі Android я створив нитки для виконання фонового завдання. У мене ситуація, коли потоці потрібно розміщувати певну задачу в черзі повідомлень основного потоку, наприклад a Runnable. Чи є спосіб отримати Handlerосновну нитку та додати Message/ Runnableдо неї з моєї іншої теми? Дякую,

29
Використання модуля "підпроцес" з таймаутом
На цей питання є відповіді на Stack Overflow на російському : Перевірка процесів і задержка на виконавці Ось код Python для запуску довільної команди, що повертає свої stdoutдані, або підняття виключення з ненульових кодів виходу: proc = subprocess.Popen( cmd, stderr=subprocess.STDOUT, # Merge stdout and stderr stdout=subprocess.PIPE, shell=True) communicate використовується для …


11
Отримання ідентифікатора потоку з потоку
У C # при налагодженні потоків, наприклад, ви можете побачити ідентифікатор кожного потоку. Я не міг знайти спосіб програматизувати цю саму нитку. Я навіть не міг отримати ідентифікатор поточного потоку (у властивостях Thread.currentThread). Отже, мені цікаво, як Visual Studio отримує ідентифікатори потоків, і чи є спосіб, наприклад, отримати ручку потоку …
319 c#  .net  multithreading 

8
Навіщо використовувати ReentrantLock, якщо можна використовувати синхронізовану (це)?
Я намагаюся зрозуміти, що робить замовлення у паралельності настільки важливим, якщо можна використовувати synchronized (this). У наведеному нижче коді я можу зробити: синхронізували весь метод або синхронізували вразливу область ( synchronized(this){...}) АБО заблокуйте вразливу область коду за допомогою ReentrantLock. Код: private final ReentrantLock lock = new ReentrantLock(); private static List&lt;Integer&gt; …

7
Обробка InterruptedException на Java
Яка різниця між наступними способами поводження InterruptedException? Який найкращий спосіб це зробити? try{ //... } catch(InterruptedException e) { Thread.currentThread().interrupt(); } АБО try{ //... } catch(InterruptedException e) { throw new RuntimeException(e); } EDIT: Я також хотів би знати, у яких сценаріях ці два використовуються.

5
C # версія синхронізованого ключового слова Java?
Чи має c # власну версію ключового слова java "синхронізовано"? Тобто в java його можна вказати або функції, об'єкту або блоку коду, наприклад: public synchronized void doImportantStuff() { // dangerous code goes here. } або public void doImportantStuff() { // trivial stuff synchronized(someLock) { // dangerous code goes here. } …

12
Скільки ниток занадто багато?
Я пишу сервер і кожну дію надсилаю в окремий потік, коли запит надійде. Я роблю це, тому що майже кожен запит робить запит до бази даних. Я використовую бібліотеку ниток для скорочення побудови / знищення ниток. Моє запитання: що таке хороша точка відсічення для таких потоків вводу / виводу? Я …


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