Cloun
Новичок
Синхронизация потоков, существует ли такое в php
Опишу эллементарную ситуацию:
Есть одна конекция к базе данных открытая функцией mysql_pconnect(). Предположим два (или более) юзеров единовременно пытаются выполнить запись по этой конекции в таблицу, а потом к возращенному id функцией mysql_insert_id() делают какую-то привязку.
Т.е. если даже mysql_query() - атамарная операция, то уже вызов mysql_insert_id() может вернуть некоерктный id.
Решение данной проблемы я вижу только одно - лочить конекцию средствами языка php.
Даже блокировками таблицы на уровне БД не дабъешся требуемого результат.
В хелпе я нарыл Semaphore, Shared Memory and IPC Functions.
Но в данном случае Semaphore поможет, но, может есть более удобное средство? Может есть какая-нибудь возможность залочить конкретный ресурс?
Опишу эллементарную ситуацию:
Есть одна конекция к базе данных открытая функцией mysql_pconnect(). Предположим два (или более) юзеров единовременно пытаются выполнить запись по этой конекции в таблицу, а потом к возращенному id функцией mysql_insert_id() делают какую-то привязку.
Т.е. если даже mysql_query() - атамарная операция, то уже вызов mysql_insert_id() может вернуть некоерктный id.
Решение данной проблемы я вижу только одно - лочить конекцию средствами языка php.
Даже блокировками таблицы на уровне БД не дабъешся требуемого результат.
В хелпе я нарыл Semaphore, Shared Memory and IPC Functions.
Но в данном случае Semaphore поможет, но, может есть более удобное средство? Может есть какая-нибудь возможность залочить конкретный ресурс?
