В предоставленной вами реализации у вас нет способа освободить контекст управляемого объекта до исчезновения потока, потому что его время жизни определяется словарем потока, а означает, что время жизни объекта равнообрабатывается Фондом, а не вами.
Если вы хотите управлять временем жизни объектов, вам нужно управлять их хранением.Это значит отойти от использования -threadDictionary
.Один из вариантов - реализовать фоновую работу в качестве NSOperation
подклассов и поддерживать контексты управляемого объекта на протяжении всего времени выполнения операций, но это, вероятно, большое изменение по сравнению с тем, что у вас есть в настоящее время.