![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 27.03.2012
Сообщений: 438
|
![]()
1)
Код:
Нужна ли тут синхронизация или крит. секция ? 2) Код:
К данной функции могут обратиться несколько потоков сразу. Нужна ли тут крит. секция ? 3) Код:
Спасибо за ответы ![]() ![]() |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
![]()
1. на чтение не нужна... только правильно флаги открытия файла выстави
если будет запись то нужна синхронизация через крит сек 2. если значение list.Count не меняется то можно и так, если меняется размер и содержимое то критической секцией 3. обязателен Sync
Не стесняемся, плюсуем!
![]() Последний раз редактировалось Slym; 14.03.2013 в 08:25. |
![]() |
![]() |
![]() |
#3 |
Участник клуба
Регистрация: 11.08.2012
Сообщений: 1,226
|
![]()
После ответа Slym'a сомневаюсь, что я правильно понимаю, как всё это работает. Но всё же напишу, что думаю:
1 - Обязательно синхронизация или крит.секция. 2 - Не уверен. Возможно лучше будет, если будет синхронизация или крит.секция. 3 - Синхронизация или крит.секция не нужны. |
![]() |
![]() |
![]() |
#4 | |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
![]() Цитата:
![]() в общем случае криты нужны там где что-то меняется.. а синхрониз только для общение с формами из потока
Не стесняемся, плюсуем!
![]() Последний раз редактировалось Slym; 14.03.2013 в 09:57. |
|
![]() |
![]() |
![]() |
#5 | |
Форумчанин
Регистрация: 27.03.2012
Сообщений: 438
|
![]()
Так, и кому верить ?:D
Цитата:
Код:
![]() |
|
![]() |
![]() |
![]() |
#6 | ||
Участник клуба
Регистрация: 11.08.2012
Сообщений: 1,226
|
![]() Цитата:
1 - Я не знаю, как устроена эта функция, но явно что-то изменяет. Если не ставить синхронизацию, то последствия не предсказуемы. 2 - Тут я с тобой согласен. 3 - Зачем здесь синхронизация? Это ведь логиеская переменная, а не свойство или функция. Конфликта здесь не должно быть. Цитата:
Последний раз редактировалось Kix.IV; 14.03.2013 в 10:20. |
||
![]() |
![]() |
![]() |
#7 | ||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,542
|
![]() Цитата:
- локальные (доступные только одному конкретному экземпляру потока) никакой синхронизации не требуют (каждый может читать свою книгу у себя под одеялом); - общие данные используемые всеми только для чтения тоже могут работать без синхронизации. (один и тот же текст на странице могут читать несколько человек одновременно); - если кто-то может эти данные менять (делать запись) лучше бы синхронизироваться (как читать если кто-то другой листает страницы книги при одновременном чтении); - если мы пишем (тоже самое) Исключение атомарные(неделимые с точки зрения процессора|памяти) данные (байт,...). На этом собственно и основаны все системы синхронизации (атомарная операция фиксации захвата и ...вперед при удаче до освобождения) 1)чтение общих данных(файла) в локальный(надеюсь) объект. (п2) общий доступ к файлу давно существует. 2)чтение общих данных (п2 если все читают)(п3 если другие там копаются и правят) 3)а здесь мы прежде всего используем очень большой объект (Form1)(и еще объект поменьше checkbox1) c которыми неизвестно кто и неизвестно что делает), а не маленькую логическую переменную (Form1.checkBox1.Checked). гарантии только чтения нет =>синхронизировать добычу данной переменной в локальное пространство потока. Цитата:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 14.03.2013 в 11:32. |
||
![]() |
![]() |
![]() |
#8 |
Участник клуба
Регистрация: 11.08.2012
Сообщений: 1,226
|
![]() Код:
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 27.03.2012
Сообщений: 438
|
![]()
Ребята спасибо, особенно evg_m. Можно закрывать тему)
![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Пару вопросов... | qewertyns | Помощь студентам | 6 | 10.12.2012 00:43 |
Программа вхождения и выхождения в критическую секцию.. | hen | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 1 | 06.11.2011 22:38 |
Вопрос про синхронизацию и статику | Lemon2009 | Общие вопросы по Java, Java SE, Kotlin | 1 | 22.03.2010 22:01 |
Пару вопросов | Syltan | Свободное общение | 2 | 19.10.2009 01:45 |