Обсуждение: nonblocking lock?

Поиск
Список
Период
Сортировка

nonblocking lock?

От
Pablo Funes
Дата:
Is it possible to do a nonblocking lock? That is,
I want several clients to execute,

    begin
    if table A is locked
    then
        go around doing stuff on other tables
    else
        lock A and do stuff on A
    endif

the problem is, if I use normal lock, then
after one client has locked and is doing stuff on A
the other one will block and thus it won't be able
to go around doing stuff on other tables. Is it
possible to do a nonblocking lock that will just
fail if the table is locked already?

Thank you

Pablo Funes
Brandeis University
pablo@cs.brandeis.edu