Как я могу реализовать потокобезопасную оболочку списка в Delphi?
У меня есть список оболочки, который поддерживает два Tstringlist и TClassList
Мне нужно, чтобы это было потокобезопасно, так что
Одновременные записи не допускаются (должно быть введено какое-то состояние ожидания)Чтение во время записи (или наоборот) недопустимо (необходимо ввести какое-то состояние ожидания)Одновременное чтениеявляются позволилЛюбые идеи о том, как я могу это сделать? Мой инстинкт подсказывает мне, что ему нужен не только критический раздел, возможно, семафор или «счетчик использования», возможно, один из них вконъюнкция с CS.
Я просто не совсем уверен, с чего начать - все, от общего подхода на английском языке до псевдо-кода, до реализации на Delphi или внешней ссылки, будет высоко ценится.