|
как использовать Lock правильно
|
|||
---|---|---|---|
#18+
появилась необходимость поставить блокировку на глобаль: простой пример, характеризующий необходимую функциональность, 2 программы: 1 программа Код: plaintext 1. 2. 3. 4. 5. 6.
2 программа (^someprog) Код: plaintext 1. 2.
Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2009, 11:32 |
|
как использовать Lock правильно
|
|||
---|---|---|---|
#18+
AndrewQwer , запись данных никак не зависит от состояния блокировки... Твою задачку можно реализовать например так. Код: plaintext 1. 2. 3. 4. 5.
Код: plaintext 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2009, 11:53 |
|
как использовать Lock правильно
|
|||
---|---|---|---|
#18+
первую часть понял, ставим блокировку с +, а вторую можно немного объяснить? чет не понимаю принцип ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2009, 12:15 |
|
как использовать Lock правильно
|
|||
---|---|---|---|
#18+
во второй части, в цикле устанавливается блокировка с ожиданием 0, т.е. если блокировка сразу не удалась, то выходим, если блокировка не установилась, то $test будет 0, соответственно цикл не завершится пока не установится блокировка _________________________________ Cache for Windows NT (AMD64) 5.0.21 (Build 6408) Tue Jan 3 2006 13:37:41 EST ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2009, 12:28 |
|
как использовать Lock правильно
|
|||
---|---|---|---|
#18+
Спасибо за помощь, буду внедрять :) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2009, 12:39 |
|
как использовать Lock правильно
|
|||
---|---|---|---|
#18+
Ставить блокировку без таймаута опасненько - IMXO. А так - после выполнения lock - нужно обязательно анализировать $test ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2009, 14:00 |
|
как использовать Lock правильно
|
|||
---|---|---|---|
#18+
Я бы посоветовал обратить внимание на механизм передачи сообщений через почтовый ящик, или использование семафоров. Есть и еще ряд методов синхронизации. Механизм блокировки самый простой, но не всегда самый удобный. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2009, 08:33 |
|
как использовать Lock правильно
|
|||
---|---|---|---|
#18+
AlexKB , примеры бы показал... А то заинтриговал и все. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.11.2009, 08:49 |
|
как использовать Lock правильно
|
|||
---|---|---|---|
#18+
да, хотя бы пару примерчиков по организации блокировок различными средствами.. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2009, 10:08 |
|
как использовать Lock правильно
|
|||
---|---|---|---|
#18+
AndrewQwer , собственно про блокировку мы тебе написали... А тут, как я понял, другие способы реализации контроля "занятости" нужного тебе "элемента"... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2009, 10:45 |
|
как использовать Lock правильно
|
|||
---|---|---|---|
#18+
krvsa , вот хотелось бы тоже узнать про контроль занятости чего нить нового. Способ описаный выше вроде как хорошо работает, не жалуюсь :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2009, 11:13 |
|
как использовать Lock правильно
|
|||
---|---|---|---|
#18+
AndrewQwer, Я упомянул не о контроле занятости ресурса, в данном случае с использованием команды Lock, а о способе синхронизации процессов через почтовый ящик. The %SYSTEM.Event class provides an interface to the Cache Event API. %SYSTEM.Event class достаточно хорошо описан в документации по классам Cache, вот если бы все классы так описывались. Пример Вам может ничем и не поможет, если Вы не знакомы с подобным способом общения между процессами, к тому же, все очень тесно будет привязано к решаемым Вами задачам. Если Вам действительно нужен пример, то я Вам его предоставлю, возьму со своих проектов, уберу все лишнее что может Вас запутать и выложу. Просто сейчас очень занят, если потерпите какое-то время, то я выложу. Если же Вам знаком подобный механизм, то из описания класса Вы все поймете. Просто я указал что такой механизм в Cache существует, не все могли об этом знать. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2009, 13:41 |
|
как использовать Lock правильно
|
|||
---|---|---|---|
#18+
AlexKB , когда у вас будет достаточно времени было бы неплохо глянуть примерчик, для самообразования любая информация полезна. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.11.2009, 13:44 |
|
как использовать Lock правильно
|
|||
---|---|---|---|
#18+
AlexKB меня тоже интересует такой метод контроля ресурсами. Можно ли увидеть пример? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2010, 20:42 |
|
как использовать Lock правильно
|
|||
---|---|---|---|
#18+
krvsa Код: plaintext 1. 2.
Я правильно понимаю, что предлагается долбиться Lock'ом в цикле, пока не пройдет? С ожиданием 0. Вы это серьезно? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2010, 01:37 |
|
как использовать Lock правильно
|
|||
---|---|---|---|
#18+
Sergei Obrastsov , а это уже как ты сам пожелаешь... P.S. Поговаривают один программер помер в душе от истощения, прочитав инструкцию на шампуне: 1. Нанести 2. Намылить 3. Смыть 4. Повторить ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2010, 11:45 |
|
как использовать Lock правильно
|
|||
---|---|---|---|
#18+
Sergei Obrastsovkrvsa Код: plaintext 1. 2.
Я правильно понимаю, что предлагается долбиться Lock'ом в цикле, пока не пройдет? С ожиданием 0. Вы это серьезно?] смысл в использовании ожидания, что вы можете по желанию прервать работу и попробовать позже, когда это будет возможно можно конечно не использовать ожидания, тогда программа зависнет ожидая освобождения блокировки, а вот это уже может быть не желательным ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2010, 12:14 |
|
как использовать Lock правильно
|
|||
---|---|---|---|
#18+
Насколько понимаю, возражение вызвало время ожидания = 0. Стоит ли грузить [одно из ядер] CPU на 100%? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2010, 12:19 |
|
как использовать Lock правильно
|
|||
---|---|---|---|
#18+
так в чем проблема, добавив в этом цикле задержку hang 0.1, ну или там своим потребностям, можно уже не так волноваться о процессоре ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2010, 12:29 |
|
как использовать Lock правильно
|
|||
---|---|---|---|
#18+
Alexey MaslovСтоит ли грузить [одно из ядер] CPU на 100%? Уж чего точно не стоит делать, так это сурово обсуждать пример-иллюстрацию работы блокировки. Поскольку там неболее чем через 10 секунд первый процесс снимет блокировку и "позволит" второму выполнить несложные действия с глобалом. Если кому-то сей тестовый пример кажется дюже энерго затратным - дайте свой вариант, на нём и остановимся. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2010, 13:10 |
|
как использовать Lock правильно
|
|||
---|---|---|---|
#18+
DAiMorсмысл в использовании ожидания, что вы можете по желанию прервать работу и попробовать позже, когда это будет возможно можно конечно не использовать ожидания, тогда программа зависнет ожидая освобождения блокировки, а вот это уже может быть не желательным Я вообще-то догадался для чего используется ожидание. Советую прикинуть, сколько раз выполнится за 10 секунд этот блок. И подумать. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2010, 01:37 |
|
как использовать Lock правильно
|
|||
---|---|---|---|
#18+
krvsaУж чего точно не стоит делать, так это сурово обсуждать пример-иллюстрацию работы блокировки. Поскольку там неболее чем через 10 секунд первый процесс снимет блокировку и "позволит" второму выполнить несложные действия с глобалом. Это всего лишь иллюстрация подхода к программированию. Очень даже симптоматично и в духе времени. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2010, 01:42 |
|
как использовать Lock правильно
|
|||
---|---|---|---|
#18+
Sergei Obrastsov , твой пример так и не увидим? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2010, 08:38 |
|
как использовать Lock правильно
|
|||
---|---|---|---|
#18+
krvsa Sergei Obrastsov , твой пример так и не увидим? Простите, он разве не очевиден? Код: plaintext 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2010, 09:34 |
|
как использовать Lock правильно
|
|||
---|---|---|---|
#18+
Ну теперь-то все встало на свои места! ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2010, 11:36 |
|
как использовать Lock правильно
|
|||
---|---|---|---|
#18+
AndrewQwer AlexKB , когда у вас будет достаточно времени было бы неплохо глянуть примерчик, для самообразования любая информация полезна. Спасибо.CEHAlexKB меня тоже интересует такой метод контроля ресурсами. Можно ли увидеть пример? Синхронизация процессов при распараллеливании задачи средствами Caché Event API ... |
|||
:
Нравится:
Не нравится:
|
|||
05.02.2013, 11:10 |
|
|
start [/forum/topic.php?all=1&fid=39&tid=1557234]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
150ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
others: | 252ms |
total: | 501ms |
0 / 0 |