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


Поймать исключение в потоке, в потоке абонента в Python

Я очень новичок в Python и многопоточном программировании в целом. В принципе, у меня есть скрипт, который будет копировать файлы в другое место. Я хотел бы, чтобы это было помещено в другой поток, чтобы я мог вывести ...., чтобы указать, что скрипт еще работает. проблема, с которой я сталкиваюсь, заключается в том, что если файлы не могут быть скопированы, это вызовет исключение. Это нормально, если выполняется в основном потоке; однако наличие следующего кода не делает работа: try: th ...

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

как показано в ответ Я недавно опубликовал, я, кажется, смущен полезностью (или ее отсутствием)volatile в многопоточных контекстах программирования. мое понимание таково: каждый раз, когда переменная может быть изменена вне потока управления куска кода доступа к ней, что переменная должна быть объявлена volatile. Обработчики сигналов, регистры ввода-вывода и переменные, модифицированные другим потоком, все составляют такие положения. Итак, если у вас есть глобальный int foo и foo считывается ...

В чем разница между нитью и волокном?

в чем разница между нитью и волокном? Я слышал о волокнах от ruby, и я читал, что они доступны на других языках, может кто-нибудь объяснить мне простыми словами, в чем разница между нитью и волокном. ...

Мьютекс пример / учебник?

Я новичок в многопоточности, и пытался понять, как работают мьютексы. Сделал много гуглить и Я нашел неплохой учебник, но это все еще оставляло некоторые сомнения в том, как это работает, потому что я создал свою собственную программу, в которой блокировка не работала. один абсолютно неинтуитивный синтаксис мьютекса pthread_mutex_lock( &mutex1 );, где похоже, что мьютекс блокируется, когда то, что я действительно хочу заблокировать, - это какая-то другая переменная. Означает ли этот синтакс ...

Как используется CountDownLatch в многопоточности Java?

может кто-нибудь помочь мне понять, что такое Java CountDownLatch и когда его использовать? у меня нет очень четкого представления о том, как работает эта программа. Как я понимаю, все три потока начинаются сразу, и каждый поток будет вызывать CountDownLatch после 3000ms. So обратный отсчет будет уменьшаться один за другим. После того, как защелка становится нулевой программа печатает "завершено". Может быть, я понял неправильно. import java.util.concurrent.CountDownLatch; import java.util ...

Есть!= проверить потокобезопасность?

Я знаю, что сложные операции, такие как i++ не являются потокобезопасными, поскольку они включают несколько операции. но проверка ссылки сама по себе является потокобезопасной операцией? a != a //is this thread-safe я попробовал программу и использовать несколько потоков, но это не удастся. Наверное, я не мог имитировать гонку на своей машине. EDIT: public class TestThreadSafety { private Object a = new Object(); public static void main(String[] args) { final TestThreadS ...

Являются ли несинхронизированные статические методы потокобезопасными, если они не изменяют статические переменные класса?

мне было интересно, если у вас есть статический метод, который является не синхронизируется, но не изменить любые статические переменные это потокобезопасным? Что делать, если метод создает локальные переменные внутри него? Например, является ли следующий код потокобезопасным? public static String[] makeStringArray( String a, String b ){ return new String[]{ a, b }; } Итак, если у меня есть два потока, вызывающие метод ths непрерывно и одновременно, один с собаками (скажем, "Great dane" и ...

Асинхронный против многопоточности-есть ли разница?

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

Когда использовать пул потоков в C#?

Я пытался изучить многопоточное программирование на C#, и я смущен, когда лучше всего использовать пул потоков против создания собственных потоков. Одна книга рекомендует использовать пул потоков только для небольших задач (что бы это ни значило), но я не могу найти никаких реальных рекомендаций. Какие соображения вы используете при принятии этого программного решения? ...

Разве в PHP есть многопоточность?

Я нашел это пакет PECL называется threads, но еще нет релиза. И ничего не происходит на веб-сайте PHP. ...

Как использовать wait и notify в Java без IllegalMonitorStateException?

у меня есть 2 матрицы и мне нужно умножить их, а затем печатать результаты каждой ячейки. Как только одна ячейка готова, мне нужно распечатать ее, но, например, мне нужно распечатать ячейку [0][0] перед ячейкой [2][0], даже если результат [2][0] готов первым. Поэтому мне нужно распечатать его по заказу. Поэтому моя идея состоит в том, чтобы заставить поток принтера ждать, пока multiplyThread уведомляет его, что правильная ячейка готова к печати, а затем printerThread напечатает ячейку и вернется ...

Thread vs ThreadPool

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

Создание потоков в python

у меня есть скрипт, и я хочу, чтобы одна функция выполнялась одновременно с другой. пример кода я посмотрел: import threading def MyThread ( threading.thread ): doing something........ def MyThread2 ( threading.thread ): doing something........ MyThread().start() MyThread2().start() у меня возникли проблемы с получением этой работы. Я бы предпочел, чтобы это происходило с помощью потоковой функции, а не класса. Спасибо за любую помощь. это рабочий скрипт, Спасибо за помощь. clas ...

Что происходит с отсоединенным потоком при выходе main ()?

предположим, что я начинаю std::thread а то detach() это, так что поток продолжает выполняться, даже если std::thread то, что когда-то представляло его, выходит за рамки. предположим далее, что программа не имеет надежного протокола для вступления в отдельной теме1, поэтому отсоединенный поток все еще работает, когда main() выход. Я не могу найти ничего в стандарте (точнее, в проекте N3797 C++14), который описывает, что должно произойти, ни 1.10, ни 30.3 не содержат соответствующей формулировк ...

"Коллекция была изменена во время перечисления" на executeFetchRequest

Я застрял на проблеме в течение нескольких часов и прочитав все об этом на stackoverflow (и применить все советы найдены), я теперь официально нуждается в помощи. ; o) вот : в моем проекте iPhone мне нужно импортировать данные в фоновом режиме и вставить их в контекст управляемого объекта. Следуя советам, найденным здесь, вот что я делаю: сохранить основной moc создать экземпляр фонового moc с помощью постоянный координатор хранилища, используемый главным moc зарегистрируйте мой контроллер в ...

Как найти идентификатор потока в Python

У меня есть многопоточная программа Python и служебная функция writeLog(message), которая записывает метку времени, за которой следует сообщение. К сожалению, результирующий файл журнала не указывает, какой поток генерирует какое сообщение. Я хотел бы writeLog (), чтобы иметь возможность добавить что-то в сообщение, чтобы определить, какой поток вызывает его. Очевидно, я мог бы просто заставить потоки передать эту информацию, но это было бы намного больше работы. Есть ли какая-то нить эквивале ...

Что такое тупик?

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

Безопасно ли получать значения из java.утиль.HashMap из нескольких потоков (без изменений)?

есть случай, когда карта будет построена, и как только она будет инициализирована, она никогда не будет изменена снова. Однако он будет доступен (только через get (key)) из нескольких потоков. Безопасно ли использовать java.util.HashMap в этом случае? (В настоящее время я с удовольствием использую java.util.concurrent.ConcurrentHashMap, и не имеют измеренной потребности улучшить производительность, но мне просто любопытно, если простой HashMap хватило бы. Следовательно, этот вопрос не " како ...

Зачем вызывать поток.currentThread.interrupt () в блоке catch InterruptException?

зачем вызывать метод Thread.currentThread.прервать() в блоке catch? ...

Разница между dispatch async и dispatch sync в последовательной очереди?

Я создал последовательную очередь, как это: dispatch_queue_t _serialQueue = dispatch_queue_create("com.example.name", DISPATCH_QUEUE_SERIAL); в чем разница между dispatch_async называли dispatch_async(_serialQueue, ^{ /* TASK 1 */ }); dispatch_async(_serialQueue, ^{ /* TASK 2 */ }); и dispatch_sync называется так в этой последовательной очереди? dispatch_sync(_serialQueue, ^{ /* TASK 1 */ }); dispatch_sync(_serialQueue, ^{ /* TASK 2 */ }); Я понимаю, что, независимо от того, как ...