HSQLDB 2.x является полностью многопоточным и выполняет такие запросы параллельно.
Как правило, каждый поток выполняет запросы отдельно от других потоков. Менеджер транзакций проверяет доступ к таблице и строке для каждого оператора и вводит ожидания текущего потока, если это необходимо, только когда другое соединение изменило таблицу или строку, о которой идет речь, в противном случае он позволяет потоку соединения продолжить. Если ваши операторы не изменяют данные, несколько потоков могут одновременно запрашивать одну и ту же таблицу или строки.
Ожидания вводятся на уровне таблицы в режиме LOCKS и на уровне строки в режиме MVCC.
См. HSQLDB Gide http://hsqldb.org/doc/2.0/guide/sessions-chapt.html#snc_tx_tx_cc