multithreading- все статьи тега ➜ страница 3


c# выполнить 2 потока одновременно

Я пытаюсь воспроизвести условие ошибки потока в обработчике HTTP. В основном, ASP.net рабочий procecss создает 2 потока, которые вызывают обработчик HTTP в моем приложении одновременно, когда загружается определенная страница. Внутри обработчика http находится ресурс, который не является потокобезопасным. Следовательно, когда 2 потока пытаются получить к нему доступ одновременно, возникает исключение. Потенциально я мог бы поместить оператор блокировки вокруг ресурса, однако я хочу убедите ...

Вызов функции void* из main в C

В настоящее время я работаю над программой, которая использует потоки для вычисления суммы квадратных корней. Моя программа работает, однако одним из требований является использование основного потока для поиска начального значения, и как только я вызываю функцию Void *calc из main, программа прерывается. Существует ли определенный способ сделать такой вызов функции? Это потому, что функция является указателем? Любая помощь ценится. #include <pthread.h> #include <stdio.h> #include & ...

Создание диалогового окна JavaFX внутри задачи JavaFX

Я пытаюсь создать диалоговое окно ввода javafx, я помещаю его в задачу, но мой код не создает никакого диалогового окна. Task<Void> passwordBox = new Task<Void>() { @Override protected Void call() throws Exception { TextInputDialog dialog = new TextInputDialog("walter"); dialog.setTitle("Text Input Dialog"); dialog.setHeaderText("Look, a Text Input Dialog"); dialog ...

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

У меня есть некоторый код, работающий в отдельном потоке, и мой основной поток GUI зависит от этого кода. Я сделал логический флаг, чтобы отметить работу как выполненную, но я не могу придумать способ вызова функции, когда этот флаг устанавливается. Что-то вроде этого блокирует основной поток и приложение зависает, чего я хочу избежать: while not flag: pass callback() Использование вызовов типа Clock.idle() или Clock.usleep(1) вместо pass также не сработало. Есть ли в Kivy что-то вроде ...

Можно ли получить возвращаемое значение функции потока в C++11?

Если функция имеет не пустое возвращаемое значение и я соединяю его с помощью функции .join, то есть ли способ получить ее возвращаемое значение? Вот упрощенный пример: float myfunc(int k) { return exp(k); } int main() { std::thread th=std::thread(myfunc, 10); th.join(); //Where is the return value? } ...

Использование pydispatch между потоками

Я столкнулся с проблемой использования модуля pydispatch для связи между потоками. Я использовал пример, приведенный здесь: https://sites.google.com/site/hardwaremonkey/blog/python-howtocommunicatebetweenthreadsusingpydispatch Я немного изменил его, чтобы предоставить немного более подробную информацию в журнале. В частности, я заставил его также отображать фактическое имя потока: from pydispatch import dispatcher import threading import time import logging log_formatter = logging.Formatter( ...

Java Многопоточность-Threadsafe Счетчик

Я начинаю с очень простого примера многопоточности. Я пытаюсь сделать резьбозащитный счетчик. Я хочу создать два потока, которые периодически увеличивают счетчик до 1000. Код ниже: public class ThreadsExample implements Runnable { static int counter = 1; // a global counter public ThreadsExample() { } static synchronized void incrementCounter() { System.out.println(Thread.currentThread().getName() + ": " + counter); counter++; } @Override ...

C# многопоточный чат-сервер, дескриптор отключения

Я ищу способ справиться с отключением, потому что каждый раз, когда я закрываю клиент, сервер перестает работать. Я получаю сообщение об ошибке, что он "не может читать дальше конца потока" в этой строке: string message = reader.ReadString(); Также мне нужен способ удалить отключенного клиента из списка клиентов. Вот мой код.: Сервер using System; using System.Threading; using System.Net.Sockets; using System.IO; using System.Net; using System.Collections.Generic; namespace Server { cl ...

Запускается служба Android от отдельной теме, а не интерфейса?

В настоящее время я использую alarmmanager для запуска сервиса для отправки местоположения на http. Проблема в том, что когда менеджер запускает и запускает службы, пользовательский интерфейс, кажется, останавливается на некоторое время. я хотел бы спросить, отделен ли поток службы от потока пользовательского интерфейса? ...

разница между атомным bool стандарта и атомным флагом

Я не знал о переменных std::atomic, но знал о переменных std::mutex (странно!) обеспечивается стандартом; однако одна вещь привлекла мое внимание: есть два, казалось бы, одинаковых (для меня) атомарных типа, предоставляемых стандартом, перечисленных ниже: std::atomic<bool> тип std::atomic_flag тип Также упоминается на примере std::atomic_flag type - Std:: atomic_flag-это атомарный булев тип. В отличие от всех специализаций std:: atomic, он гарантированно будет без блокировки ...

Понимание std:: atomic:: compare exchange weak() в C++11

bool compare_exchange_weak (T& expected, T val, ..); compare_exchange_weak() является одним из примитивов compare-exchange, представленных в C++11. Это ... слабый в том смысле, что он возвращает false, даже если значение объекта равно expected. Это связано с тем, что ложная неудача на некоторых платформах, где для его реализации используется последовательность инструкций (а не одна, как на x86). На таких платформах переключение контекста, перезагрузка того же адреса (или строки кэша) друг ...

Лучший способ обработки InterruptedException

Я использую поток.sleep (10000); следовательно, мне нужно обработать InterruptedException. Я могу позвонить нитке.текущий поток.interrupt () и затем бросить исключение для вызывающего класса или я могу непосредственно бросить его в вызывающий класс или есть какой-нибудь лучший способ обработать его ? ...

Java-как отправить событие в поток пользовательского интерфейса или вызвать функцию потока пользовательского интерфейса?

У меня есть java-код, который выглядит следующим образом: //UI thread //Some code Job j = new Job(jobName) { @Override public IStatus run(IProgressMonitor monitor) { try { //Some code SomeFunc(); //Some code return Status.OK_STATUS; } catch(Exception e) { } finally { } } }; j.schedule(); Проблема заключается в том, что SomeFunc(); должен быть вызван из потока пользовательского интерфейса. Я нов ...

boost:: IO service как гарантировать последовательность выполнения обработчика

У меня есть пул потоков с boost::io_service сверху. Я использую его для различных задач, связанных с процессором в целом приложении. Для некоторых задач я должен гарантировать, что задачи будут выполняться в указанном порядке (декодирование видеопотока). Использование io_service::strand гарантирует, что задачи не будут выполняться в данный момент, но у него нет никаких гарантий относительно порядка выполнения. Другими словами, задача №5 может быть выполнена до выполнения задачи №4. Существует ли ...

"реализует Runnable" vs "расширяет поток" в Java

из того времени, которое я провел с потоками в Java, я нашел эти два способа записи потоков: С implements Runnable: public class MyRunnable implements Runnable { public void run() { //Code } } //Started with a "new Thread(new MyRunnable()).start()" call или extends Thread: public class MyThread extends Thread { public MyThread() { super("MyThread"); } public void run() { //Code } } //Started with a "new MyThread().start()" call есть ли сущес ...

Как работают сервлеты? Создание экземпляров, сеансы, общие переменные и многопоточность

Предположим, у меня есть веб-сервер, который содержит множество сервлетов. Для передачи информации между этими сервлетами я устанавливаю переменные сеанса и экземпляра. теперь, если 2 или более пользователей отправляют запрос на этот сервер, что происходит с переменными сеанса? Будут ли они общими для всех пользователей или они будут отличаться для каждого пользователя. Если они разные, то как сервер мог различать разных пользователей? еще один подобный вопрос, если есть n пользователи, обраща ...

Разница между ожиданием () и сном()

в чем разница между a wait() и sleep() в тредах? насколько я понимаю, что a wait()-ную нить все еще находится в рабочем режиме и использует циклы процессора, но sleep() - ing не использует никаких циклов процессора правильно? почему у нас иwait() и sleep(): как меняется их реализация на более низком уровне? ...

Когда и как я должен использовать ThreadLocal переменной?

когда я должен использовать ThreadLocal переменной? как им пользоваться? ...

Что такое гонки?

при написании многопоточных приложений одной из наиболее распространенных проблем являются условия гонки. мои вопросы к сообществу: Что такое гонки? Как вы их обнаруживаете? Как вы с ними справляетесь? Наконец, как вы предотвращаете их появление? ...

Сервис vs IntentService

может кто-то пожалуйста, покажите мне пример того, что можно сделать с помощью IntentService, что не может быть сделано с Service (и наоборот)? Я также считаю, что IntentService работает в другом потоке и Service нет. Итак, насколько я могу видеть, запуск службы в своем собственном потоке похож на запуск IntentService. Не так ли? Я был бы признателен, если кто-то может помочь мне с моими вопросами. ...