185 похожих чатов

А как воркараунд доставать инстанс форматтера из мапы по threadId

не вариант?

4 ответов

9 просмотров

Думаю, да

Кажется, я понял, почему у меня нет проблем с форматтером. У меня нет async/await, всё на евентлупах, а это означает, что всё на одном потоке крутится, кроме буквально нескольких явно прописанных вызовов на тредпуле.

Alexander Sherbakov
Кажется, я понял, почему у меня нет проблем с форм...

Хотя нет, не на одном — таки на двух. Надо дать нагрузку и посмотреть.

После раздумий остановился на этом варианте. Получается вот такое: Было: extension DateFormatter { static let iso8601ShortUTC: DateFormatter = { let formatter = DateFormatter() formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss" formatter.calendar = Calendar(identifier: .iso8601) formatter.timeZone = TimeZone(secondsFromGMT: 0) formatter.locale = Locale(identifier: "en_US_POSIX") return formatter }() } Стало: extension DateFormatter { private static var _dateFormatterStore: [Thread : DateFormatter] = [:] private static let _lock = NSLock() static let iso8601ShortUTC: DateFormatter = { if let oldFormatter = _dateFormatterStore[Thread.current] { return oldFormatter } else { let formatter = DateFormatter() formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss" formatter.calendar = Calendar(identifier: .iso8601) formatter.timeZone = TimeZone(secondsFromGMT: 0) formatter.locale = Locale(identifier: "en_US_POSIX") _lock.lock() _dateFormatterStore[Thread.current] = formatter _lock.unlock() return formatter } }() } Спасибо за идею!

Похожие вопросы

Обсуждают сегодня

А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
почому оно не работает?
Vi Chapmann Chapmann
19
Так а кто может спарсить всех участников чата? Идишники
Magic
17
Есть вопрос: допустим есть железка с каким-то интерфейсом(допустим usb), но как по этому интерфейсу железкой управлять неизвестно, прог нету, а управлять очень хочется надо. К...
Mixail Frolov
15
а как ловят такое ghci> res <- getPos2 urlt 0 (alist !! 0) 200 ghci> res SearchAtom (Search "www.google.com" "/search?q=" "Haskell") "haskell.org" (SearchTS [(2024-05-06 07:...
Fedor
14
всем привет почти закончил курс После него можно писать свою операционку? Какие библиотеки надо использовать и куда дальше копать для изучения
Linus
13
Карта сайта