Популярные вопросы по тегу MULTITHREADING

C11 GCC threads.h не найден?

... последней версии GCC и Clang с -std = c11. Разве 4 потоки C11 не поддерживаются GCC и Clang? Или 3 есть хак (или что-то установить) чтобы получить? Я 2 просто использую Ubuntu 14.04 с пакетами 1 gcc и clang из репозит ...

Обработка сигналов в многопоточном Python

... хорошо работать с выскочкой. Я читал, что 16 лучший способ сделать это - запустить основной 15 цикл программы в отдельном потоке от основного 14 потока и позволить основному потоку обрабатывать 13 сигналы. Затем, когда сигнал получен, обработчик 12 сигнала ...

Если вы разблокируете уже разблокированный мьютекс, поведение не определено?

... int c_lckd = 0, q_lckd = 0; if (pthread_mutex_trylock(&crunch_mutex) == 0) c_lckd = 1; if (pthread_mutex_trylock(&queue_mutex) == 0) q_lckd = 1; if (q_lckd && !c_lckd) { QUEUE_UNLOCK; q_lckd = 0; } else if (c_lckd && !q_lckd) { CRUNCH_UNLOCK; c_lckd = 0; } if (c_lckd && q_lckd) { pri ...

Как определить максимальное количество потоков, доступных в Java-VM?

... создать для моего 4 алгоритма сортировки. Я хочу использовать 3 для этого java.lang.Runtime. Я хочу подсчитать текущее количество 2 потоков и прекратить с ...

Разорвать параллель.

... rtIndex <= I && Element.StartIndex + Element.Length >= I) { Found = true; break; } })); Используя параллельный 6 класс, я могу значительно оптимизировать 5 ...

Создаете ветку в DllMain?

... Похоже, что когда поток создается из DllMain 5 на DLL_PROCESS_ATTACH, он не запускается, пока не будут загружены 4 все библиоте ...

Зачем нужны блокировки для потоков, если у нас есть GIL?

... ся только 6 один поток? 2) Если да, то зачем нам все 5 еще нужны блокировки? Мы используем блокировки, чтобы 4 избежать случая, когда два потока пытаются 3 ...

Потоки Python - критический раздел

... аздел» потока (в 5 Python)? Поток входит в критическую секцию вызывая 4 метод Acqua(), который может быть либо 3 блокирующим, либо неблокирующий. Поток 2 выходит из критически ...

Java: LockSupport.parkNanos против Thread.sleep (...)

... правильно, приемлемо 5 только в некоторых испытательных комплектах, я 4 не имею в виду. Я хочу сказать, что тот 3 же код можно было бы записать более крат ...

Совместное использование Platform.exit() и System.exit (int)

... рые действия. Я бы предположил, что 8 в случае успеха Platform.exit() он не должен возвращаться 7 в то место, где вызывается System.exit(0). Однако, если 6 Platform.exit() запускает только какое-то закрывающее действие, выполняющееся 5 в другом потоке, возвращается и может быть 4 вызван System.exit(0), тогда это может вызвать состояние 3 гонки, когда два поток ...

Запуск бесконечных циклов с использованием потоков в Python

... их. Теперь многопоточность - хорошая 5 альтернатива для этого, но я читал о GIL, так 4 как мне запустить два бесконечных цикла? from multiprocessing import Process def methodA(): while TRUE: do something def methodB(): while TRUE: do something p=Process(target=methodA()) p.start() p1=Process(target=methodB()) p1.start() Теперь, когда 3 я запускаю процесс p, он начинает выполняться, после 2 чего как мне запустить p1 д ...

Как в Java определить, запущен ли поток?

... определить, запуще ...

Создать новый поток в VB.NET

... 3 ошибки. Вот мой код: New Thread(Function() // Do something here End Function).Start Вот какие ошибки я получаю: Новинка: Синтаксическая 2 ошибка Конечная функция: "Конечная функ ...

Запустить метод несколько раз одновременно в c #

... есть метод, который возвращает элементы 5 XML, но для завершения этого метода и возврата 4 значения требуется неко ...

Что такое поток демона в Java?

... мне, какие потоки 1 демонов ...

Потоки Java: задержка ExecutorService между потоками

... threadExecutor = Executors.newFixedThreadPool(5); Есть ли способ сказать, используя 4 класс ExecutorService, чтобы иметь задержку 3 между каждым потоком без использования м ...

Что означает сходство потоков?

... ad 4 Affinity Executor. Но я не могу найти на 3 него подходящую ссылку, по крайней мере, ...

Многопоточность для данных из панд фрейма данных

... ки Пример 2 фрейма данных выглядит так: ID Item 1 Banana 1 Apple 2 Orange 2 Banana 2 Tomato 3 Apple 3 Tomato 3 Orange Вот упрощенная 1 версия кода: import pandas as pd def relatedness (customer1, customer2): # do some calculations to measure the relation between the customers data= pd.read_csv(data_file) customers_list= l ...

Альтернатива Thread.Sleep в .NET Core

... иблиотеку на ядро ​​.NET, и 4 для максимальной переносимости мне нужно 3 устра ...

Использование памяти потоком c #

... тся примерно до 125 МБ. У меня вопрос: почему 12 процесс использует 125 МБ ОЗУ в тот момент, когда 11 само приложение (без примера потока) использует 10 только 30 МБ ОЗУ? Поддерживает ли он некоторые 9 потоки в рабочем состоянии для возможного 8 повторного / использования или происходит 7 что-то еще? РЕДАКТИРОВАТЬ: В связи с некоторыми предложениями о том, как улучшить этот код, я хотел бы указать, чт ...

iOS Как определить, что блокирует пользовательский интерфейс

... endingPathComponent:@"Documents/Movie.mov"]; NSLog(@"pathToMovie: %@", pathToMovie); pathToTreatedVid = pathToMovie; NSLog(@"File Save Called"); UISaveVideoAtPathToSavedPhotosAlbum(pathToMovie, nil, NULL, ...

Доступ к локальному потоку из другого потока

... ю ни одного). Я 11 также не контролирую точки входа в поток, поэтому 10 у этих потоков нет возможности зарегистрировать какую-либо 9 структуру. Локальный поток не является частным: еще одно заблуждение о локальных 8 переменных потока. Это никоим образом не 7 является какой-то частной переменной для потока. Это 6 глобально адресуемая память с ог ...

Async / Await использует Task.Run, запускает новый поток асинхронно?

... } private async Task<string> Dosomething() { await Task.Run((() => "Do Work")); return "I am done"; } Первый вопрос: Когда 14 я нажимаю кнопку, он вызывает DoSomething 13 и ожидает задачу, которая создает поток 12 из пула потоков, вызывая Task.Run (если 11 я не ошибаюсь), и ...

Выполнить функцию обратного вызова в основном потоке из std :: thread

... oid func() { for(int i = 0; i < 10; i++) { func2(); } std::raise(SIGUSR1); } void callback(int signal) { std::cout << "SIGNAL: " << signal << " THREAD ID:" << std ...

Неявное объявление функции pthread_mutex_init недопустимо в C99

... тьи here, в котором говорится 5 о создании переменной-члена класса как таковой pthread_mutex_t mutex; Затем 4 инициализируйте его как таковой pthread_mutex_init(&mutex, NULL); Тогда используйте 3 это как таковое void MyLockingFunction() { pthread_mut ...

Mysql select для обновления - он не блокирует целевые строки. Как мне убедиться в этом?

... могу выбрать 36 строку с помощью id = 4, прежде чем что-либо обновлять, а 35 это означает, что, вероятно, может войти 34 другой поток и попытаться выбрать и обновить 33 ту же строку до того, как вторая строка 32 попадет, что приведет к проблеме параллелизма. Но 31 когда я блокирую всю таблицу, как показано 30 ниже LOCK TABL ...

C++ 11 Реализация Spinlock с использованием <atomic>

... void add() { lock(); number++; unlock(); } void lock() { bool unlatched = false; while(!latch.compare_exchange_weak(unlatched, true, std::memory_order_acquire)); } void unlock() { latch.store(false ...

Именованный мьютекс с ожиданием

... блокировки с async - как я могу защитить 8 свои ресурсы при запуске нескольких процессов? Например, у 7 меня два процесса, которые используют задачу 6 ниже: public async Task&lt;bool&gt; MutexWithAsync() { using (Mutex myMutex = new Mutex(false, &quot;My mutex Name&quot;)) { try { myMu ...

Отличается метод asyncio.to_thread() от ThreadPoolExecutor?

... n, such as file operations. time.sleep(1) print(f&quot;blocking_io complete at {time.strftime('%X')}&quot;) async def main(): print(f&quot;started main at {time.strftime('%X')}&quot;) await asyncio.gather( asyncio.to_thread(blocking_io), asyncio.sleep(1)) print(f&quot;finished main at {time.strftime('%X')}&quot;) asyncio.run(main()) # Expected output: # # started main at 19:50:53 # start blocking_io at ...

Как доказать, что HashMap в java не является потокобезопасным

... боих из них. Но вроде это не 4 помогает, состояние всегда одно и то же. Есть 3 ли другие способы доказать это или доказать, что 2 приложение, выполняющее операции на карте, хорошо 1 раб ...

Как обновить текстовое поле в графическом интерфейсе пользователя из другого потока

... ); Тематический класс: public class Topic : MarshalByRefObject { //Some code public bool addUser(string user, ref RichTextBox textBox1, ref List&lt;string&gt; listBox1) { //here i am trying to update that control and where i get that exception textBox1.Text += "Connected to server... \n"; } Так 16 как это сделать? Как я могу обновить элемент 15 ...

Как проверить состояние семафора

... поток 8 его не ожидает. Таким образом, второй поток 7 должен обнаружить, что если он вызывает 6 Release(), он генерирует какую-либо ошибку или нет 5 (он генерирует ошибку, если вы пытаетесь 4 освободить семафор, если его никто не ждет). Как 3 я могу это сделать? Я знаю, что могу использовать 2 для этого флаг, но это не ...

Как убить дочерний поток с помощью Ctrl + C?

... -то читал, что 5 исключения KeyboardInterrupt возникают только в основном 4 потоке. Я также читал, что основной поток 3 заблокирован, пока выполняется дочерний 2 поток. Итак, как я могу убить дочерний поток? Например, Ctrl + C не 1 влияет на следующий код: def main(): try: thread ...

Как получить количество логических ядер / потоков процессора в C#?

... о логических 2 ядер в ЦП? Мне это нужно, чтобы определить, ск ...

У каждого потока свой стек?

... й 5 поток имеет свой собственный стек или они 4 совместно используют стек своего родительского 3 процесса. Что происходит, когд ...

Как поймать исключение, созданное другим потоком в Java?

... &gt;&gt; EXCEPTION THROWN ON THE FOLLOWING LINE &lt;&lt;&lt; rd.setUriString(fullUri.replaceAll("_", "")); try{ rd = server.getWSClient().get(rd, null); }catch(Exception e){ if(e.getMessage().contains("resource was not found")){ this.addFolder(fullUri, label, false); System.out.println("Folder does not exist, wi ...

Использование взаимосвязанного использования

... nter); } Я 3 знаю, что для увеличения я могу использовать: System.Threading.Interlocked.Increment(counter); а 2 как насчет блокировки для увеличения и выполнения 1 каких-либо действи ...

Передача словаря в многопоточную функцию в Python

... hreads[i].join() Я получаю 1 такие ошибки: Exception in thread Thread-72: Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/threading.py", line 810, in __bootstrap_inner self.run() File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/threading.py", line 763, in run self.__targ ...

Как использовать printf() в нескольких потоках

... а, и многие потоки 4 выполняются одновременно. Каждый поток выполняет 3 вызов printf(), и результат не читается. Как сделать 2 pri ...

Как правильно дождаться завершения работы BackgroundWorker?

... r, args); finished = true; }); bw.DoWork += OnDoWorkLoadChildren; bw.RunWorkerAsync(handler); int timeout = N; while (!finished &amp;&amp; timeout &gt; 0) { Thread.Sleep(1000); --timeout; } if (!finished) { throw new TimedoutException("bla bla bla"); } Но ...

Spring @Async ограничивает количество потоков

... hed В основном 9 мне нужно выполнить ~ сотни вычислений в 8 большем количестве потоков. Я хочу запустить 7 только некоторое количество параллельных 6 потоков, например. 5 потоков с 5 вычислениями 5 параллельно. Я использую фреймворк Spring, и 4 опция @Async - естест ...

Создание динамического количества потоков одновременно

... т себя как концепция многопоточности. Я 2 хочу, чтобы они работали параллельно. Расскажите, что 1 делать ...

Потоки против процессов в Linux

... скольку Linux 11 очень эффективен в обработке процессов и 10 поскольку существует так много проблем (таких 9 как блокировка), связанных с с нитками. Однако 8 я подозреваю, потому что кажется, что потоки 7 могут дать довольно большой прирост производительности 6 в некоторых ситуациях. Итак, у ...

Реализация поточно-безопасного класса ведения журнала

... chronized, он, похоже, не 3 работал, пока я не инициализировал его в 2 статическом конструкторе и не сделал его 1 только для чтения следующим образом: public static class Logger { static readonly TextWriter tw; static Logger() { tw = TextWriter.Synchronized(File.AppendText(SPath() + "\\Log.txt")); } public static string SPath() { return ConfigManager.GetAppSetting("logPath"); } public static ...

Tomcat не останавливается. Как я могу это отладить?

... отерпел неудачу 12 чтобы остановить это. Это может привести 11 к утечке памяти. Любая помощь, пожалуйста? Как 10 я могу обнаружить здесь проблему? ОБНОВЛЕНИЕ: Я сделал 9 kill -3, как было предложено @daveb, и в catalina.out 8 я вижу: JVMDUMP006I Обработка дампа, событие 7 "пользователь", деталь "" - подождите. JVMDUMP032I 6 JVM запросила дамп Java, используя '/etc/init.d/javacore.20120402.093922.2568.0001.txt' в 5 о ...

Почему volatile не считается полезным в многопоточном программировании на C или C++?

... ругим потоком (возможно, с использованием 9 соответствующей машинной инструкции), поток 8 чтения видит эту ситуацию так же, как и 7 видит переменную, измененную обработчиком 6 сигнала или измененную внешним аппаратным 5 условием, и поэтому foo следует объявить volatile (или, в 4 многопоточных ситуациях, доступ к ней осуществляется 3 с загрузкой с изолированной памятью, что, вероятно, является 2 лучшим решением). / ...

Синглтон с многопоточностью

... ; Singleton() {} static mutex m_; public: static Singleton* getSingletonInstance() { m_pend(); if(singletonInstance == null) { singletonInstance = new Singleton(); } return singletonInstance; } static void releaseSingleton() { m_post(); } }; Затем мне сказали, что, хотя 6 мьютекс и требуется, ожидание и публика ...

Может ли синхронизация внутреннего блока улучшить производительность уже синхронизированного метода?

... eb(url); } } } return retStream; } Я сказал &quot;хорошо, но чтобы эта 5 оптимизация работала, нужно убрать синхронизацию 4 методов&quot;, т.е.: public InputStream getFile(String url) { // #4 InputStream retStream = getFileFromLocalFS(url); if (retStream != null) { ...

Почему я должен использовать поток, а не процесс?

... распараллеливание 6 всего. В каком сценарии имеет смысл запускать 5 что-то в потоке, а не разделять программу 4 на разные процессы? Когда мне следует использовать 3 ветку? Изменить Также было бы полезно узнать, как 2 (или если) они действуют по ...

Что на самом деле делают DoEvents() в C#?

... наняли компанию, чтобы преобразовать 24 старую DLL VB6, которая управляет некоторым 23 промышленным оборудованием, в C#. В старом 22 коде VB6 были подпрограммы «паузы», состоящие 21 из вызовов сна, дополненных DoEvents, так что во 20 время сна события таймера и сокета в DLL 19 все еще обрабатывались. DoEvents были преобразованы 18 в System.Windows.Forms.Application.DoEvents(); Я не программист VB6, но я понимаю, что 17 VB6 на самом деле являе ...