MutexLock

الفئة النهائية العامة MutexLock

تأمين مورد كائن المزامنة (mutex). الإخراج هو القفل. طالما أن موتر القفل

على قيد الحياة، أي طلب آخر لاستخدام `MutexLock` مع كائن المزامنة هذا سوف ينتظر.

يعد هذا مفيدًا بشكل خاص لإنشاء قسم مهم عند استخدامه مع `MutexLockIdentity`:

mutex = mutex_v2(
   shared_name=handle_name, container=container, name=name)
 
 def execute_in_critical_section(fn, *args, **kwargs):
   lock = gen_resource_variable_ops.mutex_lock(mutex)
 
   with ops.control_dependencies([lock]):
     r = fn(*args, **kwargs)
 
   with ops.control_dependencies(nest.flatten(r)):
     with ops.colocate_with(mutex):
       ensure_lock_exists = mutex_lock_identity(lock)
 
     # Make sure that if any element of r is accessed, all of
     # them are executed together.
     r = nest.map_structure(tf.identity, r)
 
   with ops.control_dependencies([ensure_lock_exists]):
     return nest.map_structure(tf.identity, r)
 
أثناء تشغيل `fn` في القسم الحرج، لا يجوز تشغيل أي وظائف أخرى ترغب في استخدام هذا القسم الحرج.

غالبًا ما تكون حالة الاستخدام هي أن عمليتين تنفيذيتين لنفس الرسم البياني، بالتوازي، ترغبان في تشغيل `fn`؛ ونرغب في التأكد من تنفيذ واحد منهم فقط في كل مرة. يعد هذا مهمًا بشكل خاص إذا قام `fn` بتعديل متغير واحد أو أكثر في المرة الواحدة.

ومن المفيد أيضًا أن تتشارك وظيفتان منفصلتان في مورد ما، ولكننا نرغب في التأكد من أن الاستخدام حصري.

الأساليب العامة

الإخراج <كائن>
كإخراج ()
إرجاع المقبض الرمزي للموتر.
ثابت MutexLock
إنشاء (نطاق النطاق ، المعامل <?> كائن المزامنة)
طريقة المصنع لإنشاء فئة تغلف عملية MutexLock جديدة.
الإخراج <؟>
قفل كائن المزامنة ()
موتر يحتفظ بمؤشر مشترك لقفل كائن المزامنة؛ عندما يتم تدمير Tensor، ينخفض ​​عدد الاستخدام على المؤشر المشترك بمقدار 1.

الطرق الموروثة

الأساليب العامة

الإخراج العام <Object> asOutput ()

إرجاع المقبض الرمزي للموتر.

المدخلات إلى عمليات TensorFlow هي مخرجات عملية TensorFlow أخرى. يتم استخدام هذه الطريقة للحصول على مقبض رمزي يمثل حساب الإدخال.

إنشاء MutexLock ثابت عام (نطاق النطاق ، المعامل <?> mutex)

طريقة المصنع لإنشاء فئة تغلف عملية MutexLock جديدة.

حدود
نِطَاق النطاق الحالي
كائن المزامنة مورد كائن المزامنة المطلوب قفله.
المرتجعات
  • مثيل جديد من MutexLock

الإخراج العام <؟> mutexLock ()

موتر يحتفظ بمؤشر مشترك لقفل كائن المزامنة؛ عندما يتم تدمير Tensor، ينخفض ​​عدد الاستخدام على المؤشر المشترك بمقدار 1. وعندما يصل إلى 0، يتم تحرير القفل.