Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

Блокировка файла.   Найти похожие ветки 

 
Дмитрий С ©   (2012-03-10 17:08) [0]

Добрый день. А есть какой-нибудь универсальный способ заблокировать файл потоком (процессом), чтобы выполнить операции (чтения и записи) с ним как-бы атомарно. А другие потоки (процессы) чтобы ждали пока файл не разблокируется?
Желательно чтобы этот механизм был таким простым, чтобы и в linux-е был.


 
DVM ©   (2012-03-10 17:14) [1]


> А другие потоки (процессы) чтобы ждали

твои или чужие?


 
Дмитрий С ©   (2012-03-10 17:40) [2]


> твои или чужие?

все мои.


 
DVM ©   (2012-03-10 18:25) [3]


> Дмитрий С ©   (10.03.12 17:40) [2]


> все мои.

ну тогда с помощью мьютекса (лучше Global\) можно организовать такую блокировку.


 
Игорь Шевченко ©   (2012-03-10 19:57) [4]

LockFile


 
Дмитрий С ©   (2012-03-10 20:19) [5]

Спасибо, Игорь Шевченко, то что нужно.


> DVM ©   (10.03.12 18:25) [3]

Способ хороший, и первый что в голову пришел, но есть проблемы с реализацией под линухом.


 
DVM ©   (2012-03-10 20:32) [6]


> но есть проблемы с реализацией под линухом.
>
>

какие?


 
Дмитрий С ©   (2012-03-10 21:28) [7]


> DVM ©   (10.03.12 20:32) [6]

Ну если смеяться не будете, то нужен механизм блокировки (синхронизации) для реализации на PHP. Там есть функция flock, которая реализована и под windows и под linux . А вот с другими методами синхронизации в PHP туго, не для этого он всетаки предназначен.


 
palva ©   (2012-03-10 23:44) [8]

Вот здесь об этом пишут: http://reslib.com/book/PHP_5#376


 
Дмитрий С ©   (2012-03-11 01:30) [9]


> palva ©   (10.03.12 23:44) [8]

Спасибо. Нашел там важное замечание, которое не учел.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.099 c
2-1328525317
whoim
2012-02-06 14:48
2013.03.22
TServerSocket, TStringList и непонятки.. RemoteAddress


2-1330375381
LDV
2012-02-28 00:43
2013.03.22
Access Violation on AssignFile(fp, file_name)


2-1333830083
Den
2012-04-08 00:21
2013.03.22
заранее задать размер строки Setlength ?


15-1350648132
toto
2012-10-19 16:02
2013.03.22
C# GridView


2-1341819656
Remand
2012-07-09 11:40
2013.03.22
Зависание на function InitAllocator





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский