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

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

7
Запуск декількох AsyncTasks одночасно - неможливо?
Я намагаюся запустити два AsyncTasks одночасно. (Платформа - Android 1.5, HTC Hero.) Однак виконується лише перша. Ось простий фрагмент для опису моєї проблеми: public class AndroidJunk extends Activity { class PrinterTask extends AsyncTask<String, Void, Void> { protected Void doInBackground(String ... x) { while (true) { System.out.println(x[0]); try { Thread.sleep(1000); } …

10
Чому треба чекати () завжди бути в синхронізованому блоці
Усі ми знаємо, що для виклику Object.wait()цей виклик повинен бути розміщений у синхронізованому блоці, інакше IllegalMonitorStateExceptionкидається а. Але в чому причина цього обмеження? Я знаю, що wait()звільняє монітор, але чому нам потрібно явно придбати монітор, зробивши певний блок синхронізованим, а потім звільнити його за допомогою дзвінка wait()? Який потенційний збиток, …

17
Як тайм-аут потоку
Я хочу запустити потік протягом певного фіксованого часу. Якщо вона не буде завершена протягом цього часу, я хочу або вбити, викинути якийсь виняток, або якось поправити. Як це можна зробити? Один із способів зробити це, як я зрозумів з цієї теми, - це використовувати TimerTask всередині методу run () Thread. …

10
Як налагодити один потік у Visual Studio?
У мене є рішення з деякими проектами. У різних проектах є декілька перерв. Я хочу простежити, щоб перша нитка потрапила на одну з цих точок розриву і продовжувала відстежувати цей єдиний потік, незважаючи на те, що інші потоки вводять ті самі кодові блоки. Я знаю, що це можливо через визначення …

14
Нитки проти процесів у Linux
Нещодавно я чув, як мало хто говорить, що в Linux майже завжди краще використовувати процеси замість потоків, оскільки Linux дуже ефективний в обробці процесів і тому, що існує багато таких проблем (як блокування), пов'язаних з потоками. Однак я підозріло, тому що, здається, нитки можуть дати досить великий приріст у деяких …

3
Використовуйте випадки для планувальників RxJava
У RxJava є 5 різних планувальників на вибір: neposredna () : Створює та повертає Scheduler, який негайно виконує роботу над поточним потоком. trampoline () : Створює та повертає Scheduler, який черги працює над поточним потоком, який буде виконаний після завершення поточної роботи. newThread () : Створює та повертає Планувальник, який …



11
Якщо async-await не створює додаткових потоків, то як вони роблять програми реагуючими?
Знову і знову, я бачу, що сказано, що використання async- awaitне створює додаткових потоків. Це не має сенсу, оскільки єдиний спосіб, за яким комп'ютер може здатися робити більше ніж одну річ, - це Насправді виконуючи більше однієї речі одночасно (виконуючись паралельно, використовуючи декілька процесорів) Моделювання його шляхом планування завдань та …

4
Різниця між завантажувачем контекстного класу потоку та звичайним завантажувачем класів
Чим відрізняється завантажувач контекстного класу потоку від звичайного завантажувача класів? Тобто, якщо Thread.currentThread().getContextClassLoader()і getClass().getClassLoader()повертати об'єкти завантажувача різних класів, який із них буде використовуватися?

7
Пояснення демонів
У документації Python написано: Нитка може бути позначена як "демонова нитка". Значення цього прапора полягає в тому, що вся програма Python виходить, коли залишаються лише демонові нитки. Початкове значення успадковується від створюючої нитки. Хтось має більш чітке пояснення того, що це означає, або практичний приклад, де можна вказати тему daemonic? …

15
C # Події та безпека нитки
ОНОВЛЕННЯ Відповідно до C # 6, відповідь на це питання: SomeEvent?.Invoke(this, e); Я часто чую / читаю такі поради: Завжди робіть копію події, перш ніж перевірити її nullта запустити її. Це дозволить усунути потенційну проблему з нанизуванням, де подія стає nullв точці розташування між місцем, де ви перевіряєте на нуль, …

11
Що таке "нитка" (насправді)?
Я намагався знайти хороше визначення та зрозуміти, що таке насправді нитка . Здається, що я, мабуть, пропускаю щось очевидне, але кожен раз, коли я читаю про те, що таке нитка, це майже кругове визначення, а-ля «нитка - це нитка виконання» або «спосіб розділити на запущені завдання». Е-е-е. Так? З того, …

2
Чим відрізняється асинхронне програмування від багатопотокового?
Я подумав, що вони в основному те саме - писати програми, які розділяють завдання між процесорами (на машинах, які мають 2+ процесори). Потім я читаю це , що говорить: Методи асинхронізації призначені для неблокуючих операцій. Вираз очікування в методі асинхронізації не блокує поточний потік під час виконання очікуваного завдання. Натомість …


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