Глобальный доступ к сложному объекту

Поддержка
  • Здравствуйте!

    Подскажите, как лучше реализовать в БАСе такое:
    Есть массив объектов. Каждый поток может читать и писать в этот массив, для этого массив хранится в глобальной переменной. Доступ сейчас организован так:

    1. проверка глоб. флага "занят"
    2. если свободен, то устанавливаю флаг, иначе жду
    3. читаю массив в переменную
    4. изменяю массив
    5. сохраняю в глоб. переменную
    6. снимаю флаг "занят"

    Может есть встроенные средства в БАСе?

    Конкретный пример: база телефонов, телефон можно использовать раз в минуту и 5 раз, поэтому хранится в объекте
    {
    phone: "1231234567",
    time: 1639755795695,
    n: 3
    }
    потоки проверяют время, если время подошло, то один поток берет номер, записывает новое время и n++, если n > 5, то этот объект из массива выбрасывается и получается новый номер.

  • @Andrey-0 в бас есть встроенная бд, лучше использовать ее.