Toolverse
Wszystkie skille

axiom-synchronization

autor: CharlesWiltgen

Prymitywy synchronizacji dla kodu krytycznego pod względem wydajności — Mutex, blokady atomowe i kontrola współbieżności w Swift.

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
Mobile
Wyświetlenia
1

O skillu

Umiejętność dostępu do niskopoziomowych prymitywów synchronizacji dla aplikacji iOS wymagających maksymalnej wydajności. Obejmuje Mutex (iOS 18+), OSAllocatedUnfairLock (iOS 16+) i typy atomowe do bezpiecznego dostępu z wielu wątków bez narzutu async. Dowiedz się, kiedy użyć blokad zamiast aktorów, jak zapobiegać zakleszczeniom i implementować operacje mikrosekundowe bez opóźnień.

Jak używać

  1. Zainstaluj umiejętność w swoim projekcie Claude/Copilot, dodając ścieżkę do repozytorium CharlesWiltgen/Axiom do konfiguracji pluginów.

  2. Zaimportuj moduł Synchronization w pliku Swift, w którym potrzebujesz prymitywów: import Synchronization dla Mutex i typów atomowych (iOS 18+) lub import os dla OSAllocatedUnfairLock (iOS 16+).

  3. Wybierz odpowiedni prymityw na podstawie przypadku użycia: użyj Mutex do operacji mikrosekundowych i ochrony pojedynczych właściwości, OSAllocatedUnfairLock gdy potrzebujesz stabilnego adresu pamięci, lub typy atomowe do liczników wysokiej częstotliwości bez blokad.

  4. Zdefiniuj zmienną chronioną, na przykład let mutex = Mutex<Int>(0) dla licznika całkowitego, i uzyskaj dostęp do wartości wyłącznie przez zamknięcia: mutex.withLock { $0 += 1 }.

  5. Dla operacji nieblokujących spróbuj uzyskać blokadę warunkową: if let value = mutex.withLockIfAvailable({ $0 }) { }, aby uniknąć zawieszenia wątku.

  6. Zapoznaj się z tabelą decyzyjną w dokumentacji, aby rozstrzygnąć między Mutex a aktorami — aktorzy są lepsi dla złożonych przepływów asynchronicznych, a Mutex dla operacji wymagających natychmiastowego dostępu bez async hop.

Podobne skille