Я не уверен, что вы достигнете желаемого с помощью sqlite.
Вы можете замедлить вставки, чтобы дать время для чтения / удаления, но даже если вы сделаете это, вам понадобится для обработки исключений, возникающих при блокировке базы данных (как для читателя, так и для писателя).
Другая возможность заключается в использовании sqlite в режиме WAL , но убедитесь, что его ограничения не являются проблемой для вас; например, в режиме WAL ваше приложение должно быть «... готово пожертвовать долговечностью после потери питания или полной перезагрузки». Просто внимательно прочитайте документацию.
Следующий вариант - перейти на другой сервер базы данных, например MySQL. Благодаря InnoDB для таблиц доступна блокировка записей, а не блокировка таблиц.
Sqlite - это здорово, у меня есть база данных с почти 9 миллионами строк в таблице, но она не подходит для одновременных записей - вот когда вам действительно нужно сервер базы данных.