func lock(before: Date) -> Bool
func `try`() -> Bool
Availability 有効性
Technology
class NSLock : NSObject
An NSLock
object can be used to mediate access to an application’s global data or to protect a critical section of code, allowing it to run atomically.
NSLock
オブジェクトは、アプリケーションの持つグローバルデータへのアクセスを調停するためにまたはコードのクリティカルセクションを保護して、それをアトミックに動作させるために使用されます。
Warning 警告
The NSLock
class uses POSIX threads to implement its locking behavior. When sending an unlock message to an NSLock
object, you must be sure that message is sent from the same thread that sent the initial lock message. Unlocking a lock from a different thread can result in undefined behavior.
NSLock
クラスは、POSIXスレッドを使ってそれのロック挙動を実装します。あるアンロックメッセージをNSLock
オブジェクトに送る場合、あなたは最初のロックメッセージを送ったのと同じスレッドからメッセージが送られることを確実にしなければなりません。ロックを異なるスレッドからアンロックすることは、未定義挙動という結果になりえます。
You should not use this class to implement a recursive lock. Calling the lock
method twice on the same thread will lock up your thread permanently. Use the NSRecursive
class to implement recursive locks instead.
あなたは、このクラスを使って再帰的なロックを実装すべきではありません。lock
メソッドを同じスレッド上で2度呼び出すことは、あなたのスレッドを恒久的にロックするでしょう。NSRecursive
クラスを使うことで代わりに再帰的ロックを実装してください。
Unlocking a lock that is not locked is considered a programmer error and should be fixed in your code. The NSLock
class reports such errors by printing an error message to the console when they occur.
ロックされていないロックをアンロックすることは、プログラマーエラーとみなされます、そしてあなたのコードにおいて解決されるべきです。NSLock
クラスはそのようなエラーを、それらが起こる時にエラーメッセージをコンソールに出力することで報告します。
func lock(before: Date) -> Bool
func `try`() -> Bool
var name: String?
class Thread
protocol NSLocking
class NSRecursiveLock
class NSDistributedLock
class NSConditionLock
class NSCondition