Pull to refresh

Comments 4

хотелось бы узнать, зачем нужно усложнение с сегментами?
Это не усложнение, а скорее облегчение, при создании мы не знаем сколько элементов в очереди (в общем случае). А нам необходимо будет динамически выделять новую память. Для реализации можно пойти 2-мя путями:
1. копировать имеющиеся данные (не выбранные) каждый раз в новый массив (аля, List). Здесь потребуется лок на всю структуру и как следствие — очень сильно «просядем» по производительности.
2. создать новый сегмент и в него писать новые элементы, а сегменты с выбранными данными — удалять. Здесь без локов и существенно больше производительность.
Создать под каждый обьект очереди по «обертке» = сегмент из 1го обьекта в односвязном списке?
Вы не совсем правы — каждый сегмент может содержать до 32 элементов очереди.
Sign up to leave a comment.

Articles