|
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,236
|
||||||
Многопоточность - синхронизация - lock02.10.2013, 12:52. Показов 2219. Ответов 3
Метки нет (Все метки)
Изучаю многопоточность, дошел до синхронизация и не могу понять как использовать lock, вот делаю программу для теста lock:
Кликните здесь для просмотра всего текста
смысл программы, класс, в нем всего один метод (Fun), который запускает счетчик и выводит значения, в Main я создаю два объекта этого класса, создаю потоки, и запускаю эти потоки, по моему разумению, как только первый запущенный поток дойдет до до этого метода, в частности до ключевого слова lock, второй поток будет заблокирован, т.е. в итоге сначала один поток (ONE) выведет все свои значения, потом следующий (TWO), но так не происходит, все выводится вперемешку. В чем косяк, где и что я не правильно понял?
0
|
||||||
| 02.10.2013, 12:52 | |
|
Ответы с готовыми решениями:
3
Lock не работает (многопоточность) Многопоточность, чтение переменной, несколько lock Многопоточность и их синхронизация, нужны примеры реализации |
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
|||||||
| 02.10.2013, 13:00 | |||||||
|
У вас для каждого экземпляра testClass создается индивидуальный объект lockOn, в результате все экземпляры лочатся на разных объектах, что не приводит к блокировке. Сделайте lockOn static, например, и увидите разницу. Как вариант, запустите несколько потоков на выполнение метода Fun одного и того же объекта:
1
|
|||||||
|
198 / 170 / 19
Регистрация: 05.05.2013
Сообщений: 1,236
|
|
| 02.10.2013, 13:19 [ТС] | |
|
т.е. правильно я понимаю, те потоки которые я хочу синхронизировать, у них должен быть один общий объект lockON ?
0
|
|
|
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
|
||
| 02.10.2013, 13:27 | ||
|
1
|
||
| 02.10.2013, 13:27 | |
|
Помогаю со студенческими работами здесь
4
Acer aspire 5552G-N974G64Mikk Проблема с Caps Lock, Num Lock, Scroll Lock Клавиатура мигает всеми тремя индикаторами Caps Lock, Scroll Lock и Num Lock и соответственно не работает! Многопоточность и синхронизация Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Управление камерой с помощью скрипта 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. . .
|