Есть ли хороший, независимый от платформы способ реализовать переменную, локальную как для потока, так и для экземпляра класса, т. Е. Если у вас есть T потоков и I классов, у вас есть экземпляры TxI этой переменной? Я использую язык программирования D, версия 2, но хороший не зависящий от языка ответ также был бы полезен.
Вот некоторые ограничения:
- Никогда не требует синхронизации. Это исключает использование идентификатора потока преобразования хэш-таблицы в ссылку на переменную в качестве переменной-члена.
- Нельзя хранить ссылки, которые следует собирать. Это исключает возможность использования потоковой статической хеш-таблицы, индексируемой экземпляром класса.
- Инициализация должна быть ленивой для эффективности. Если поток никогда не обращается к переменной данного экземпляра, он никогда не должен создаваться.