|
52 / 18 / 11
Регистрация: 27.03.2013
Сообщений: 789
|
|||||||||||||||||||||||||||||||
ScheduledExecutorService - сбор статистики19.10.2020, 20:32. Показов 1012. Ответов 11
Метки нет (Все метки)
Вот небольшой пример приложения.
Сущность. Кликните здесь для просмотра всего текста
Класс описывающий перевод денег. Кликните здесь для просмотра всего текста
Точка входа в приложение, здесь задаются задачи для потоков и получаются ответы. Кликните здесь для просмотра всего текста
Вот этот кусок кода, должен собирать статистику через определенный промежуток времени - о том, сколько неудачных попыток блокировок монитора определенного аккаунта, было за времия выполения задач по переводу денег.
в точке входа вот так :
Но все равно не понимаю, что происходит. Похоже, что сервис этот запускается так быстро, что не успевает собрать статистику ? Но результат работы данного метода, я не вижу. Кто глубоко разбирался в java.util.concurrency, может объясните в чем ошибка. Разъясните пожалуйста, как работает механизм отложенного запуска потоков и работу их через определенные промежутки времени. Может в текущем контексте предложите лучшее решение ?
0
|
|||||||||||||||||||||||||||||||
| 19.10.2020, 20:32 | |
|
Ответы с готовыми решениями:
11
ScheduledExecutorService останавливается Повторяющееся событие, ScheduledExecutorService
|
|
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,779
|
|||||
| 19.10.2020, 20:34 | |||||
|
0
|
|||||
|
52 / 18 / 11
Регистрация: 27.03.2013
Сообщений: 789
|
|
| 19.10.2020, 23:21 [ТС] | |
|
0
|
|
|
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,779
|
||
| 19.10.2020, 23:26 | ||
depositToAccount и withdrawFromAccount в обход этих локов?
0
|
||
|
52 / 18 / 11
Регистрация: 27.03.2013
Сообщений: 789
|
|||||||
| 19.10.2020, 23:34 [ТС] | |||||||
|
shutdown(),- ждет завершения запущенных задач
shutdownNow()- останавливает исполнитель немедленно Когда происходит вызов метода shutdown(), то сначала завершаться все потоки, которые уже были поставлены в качестве задач для ExecutorService и только затем будет остановлено выполнение задач через ExecutorService. shutdownNow() – когда происходит вызов данного метода, тогда остановка выполнения задач происходит сразу и потоки которые были в задачах и стояли в очереди на выполнение, - не будут выполняться. Таким потокам будет выставлен статус interrupt (потому что в java нет метода, который может внезапно остановить потоки) Добавлено через 2 минуты Добавлено через 1 минуту
0
|
|||||||
|
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,779
|
|||||
| 20.10.2020, 01:30 | |||||
|
0
|
|||||
|
52 / 18 / 11
Регистрация: 27.03.2013
Сообщений: 789
|
||
| 20.10.2020, 09:59 [ТС] | ||
|
Я пока не понял, что ты хочешь донести. Почему я должен разделить именно эти методы и использовать synchronized блоки ? Мне нужна будет синхронизация на обоих ресурсах. А как избежать deadlock при использовании такого подхода ( synchronized блоки) если мы разных потоках поменяем местами разделяемые ресурсы? Кроме того использования такой блокировки (synchronized блоки) снижает производительность на больших объемах данных. А пример выше, использует tryLock(), который блокирует только в определенное время. Мы можем поставить блокировку в одном методе и затем можем снять в другом. Здесь же используется оптимистическая блокировка, или я не прав ?
0
|
||
|
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,779
|
|||||||||||
| 20.10.2020, 10:16 | |||||||||||
0
|
|||||||||||
|
52 / 18 / 11
Регистрация: 27.03.2013
Сообщений: 789
|
|||||||
| 20.10.2020, 10:30 [ТС] | |||||||
Добавлено через 2 минуты но здесь вопрос не в то, чтобы сделать синхронизацию другим способом и увидеть статистику, а вопрос в том, как это сделать средствами, представленными в примере выше. Я так и не понял, почему планировщик не работает.
0
|
|||||||
|
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,779
|
||
| 20.10.2020, 16:31 | ||
|
1
|
||
|
52 / 18 / 11
Регистрация: 27.03.2013
Сообщений: 789
|
||||||
| 20.10.2020, 17:42 [ТС] | ||||||
И почему ты считаешь, что Lock выставлен "наружу".... поясни разницу пожалуйста.
0
|
||||||
|
4575 / 2774 / 491
Регистрация: 28.04.2012
Сообщений: 8,779
|
|||||||
| 20.10.2020, 17:49 | |||||||
0
|
|||||||
| 20.10.2020, 17:49 | |
|
Помогаю со студенческими работами здесь
12
Сбор статистики Сбор статистики Сбор статистики Сбор статистики по очереди
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|