Конкурентный доступ к файлу потоков сервера Apache
11 июня 2009, 21:27
Автор: 1234ru
Идея такая: требуется картинка, которая должна генерироваться динамически. Создаваться она будет с помощью imagepng(), но делать прямой вывод в браузер неудобно, поэтому придется записывать в файл и потом к этому файлу обращаться в HTML с помощью <img>.
Картинка после использования храниться, видимо, не будет (т.е. будет генерироваться заново каждый раз).
Отсюда возникла идея имя файла делать неизменным - другими словами, каждый раз писать в один и тот же файл, просто переписывая каждый раз его содержимое.
Мне нужно точно знать, что с того момента, как пришел запрос к серверу (точнее, с того момента, как одна из функций записала в файл) и до того, как картинка придет в браузер, контроль над этой картинкой будет внутри одного потока (если я правильно называю). То есть, между очередным обновлением содержимого файла-картинки и отдачей картинки браузеру не влезет соседний поток и не перепишет картинку, пока она еще не ушла предыдущему клиенту.
Как это можно обеспечить?
P.S. Кстати. Желательно этот файл делать в памяти, поскольку на диске он нафиг не нужен. Это как-то можно в апаче делать?
Картинка после использования храниться, видимо, не будет (т.е. будет генерироваться заново каждый раз).
Отсюда возникла идея имя файла делать неизменным - другими словами, каждый раз писать в один и тот же файл, просто переписывая каждый раз его содержимое.
Мне нужно точно знать, что с того момента, как пришел запрос к серверу (точнее, с того момента, как одна из функций записала в файл) и до того, как картинка придет в браузер, контроль над этой картинкой будет внутри одного потока (если я правильно называю). То есть, между очередным обновлением содержимого файла-картинки и отдачей картинки браузеру не влезет соседний поток и не перепишет картинку, пока она еще не ушла предыдущему клиенту.
Как это можно обеспечить?
P.S. Кстати. Желательно этот файл делать в памяти, поскольку на диске он нафиг не нужен. Это как-то можно в апаче делать?