الفرق بين المراجعتين ل"Ruby/IO/fsync"

من موسوعة حسوب
< Ruby‏ | IO
اذهب إلى التنقل اذهب إلى البحث
ط (تدقيق.)
 
سطر 3: سطر 3:
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby IO]]
 
[[تصنيف: Ruby IO]]
يكتب التابع <code>fsync</code> على الفور جميع البيانات المخزنة في [[Ruby/IO|مجرى د/خ]] <code>ios</code> على القرص. لاحظ أن <code>fsync</code> يختلف عن استخدام <code>IO#sync=‎</code>. حيث يضمن الأخير أن تُرسل البيانات من المخازن المؤقتة (buffers) لروبي، ​​ولكنه لا يضمن أنّ نظام التشغيل سيكتبها بالفعل على القرص.
+
يكتب التابع <code>fsync</code> مباشرةً جميع البيانات المخزنة في [[Ruby/IO|المجرى]] الذي استدعي معه على القرص. لاحظ أنَّ <code>fsync</code> يختلف عن استخدام التابع <code>[[Ruby/IO/sync-3D|sync=‎]]</code> إذ يضمن الأخير أن تُرسل البيانات من المخازن المؤقتة (buffers) لروبي، ​​ولكنه لا يضمن أنّ نظام التشغيل سيكتبها بالفعل على القرص.
  
سيُطلق الاستثناء [[Ruby/NotImplementedError|NotImplementedError]] إن لم يكن نظام التشغيل يدعم <code>fsync(2)‎</code>.
+
سيُطلق الاستثناء [[Ruby/NotImplementedError|<code>NotImplementedError</code>]] إن لم يكن نظام التشغيل يدعم الدالة <code>fsync(2)‎</code>.
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="ruby">fsync→ 0 or nil‎</syntaxhighlight>
 
<syntaxhighlight lang="ruby">fsync→ 0 or nil‎</syntaxhighlight>
==القيمة المُعادة==
+
==القيمة المعادة==
يعيد التابع <code>fsync</code>القيمة صفر أو <code>nil</code>.
+
تعاد القيمة صفر عند انتهاء عملية الكتابة أو القيمة <code>nil</code> إن لم يكن هنالك أية بيانات لكتابتها.
  
==انظر أيضا==
+
==انظر أيضًا==
*التابع <code>[[Ruby/IO/flush|flush]]</code>: ينقل (Flushes)  أي بيانات مخزنة في [[Ruby/IO|مجرى د/خ]] <code>ios</code> إلى نظام التشغيل
+
*التابع <code>[[Ruby/IO/fdatasync|fdatasync]]</code>: يكتب مباشرةً جميع البيانات المخزنة في مجرى د/خ على القرص.
*التابع <code>[[Ruby/IO/fdatasync|fdatasync]]</code>: يكتب على الفور جميع البيانات المخزنة في [[Ruby/IO|مجرى د/خ]] على القرص.
+
*التابع <code>[[Ruby/IO/flush|flush]]</code>: ينقل أي بيانات مخزَّنة في المجرى الذي استدعي معه إلى نظام التشغيل.
 
==مصادر==
 
==مصادر==
*[http://ruby-doc.org/core-2.5.1/IO.html#method-i-fsync قسم التابع fsync‎ في الصنف IO‎ في توثيق روبي الرسمي.]
+
*[http://ruby-doc.org/core-2.5.1/IO.html#method-i-fsync قسم التابع fsync‎ في الصنف IO‎ في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 11:00، 22 ديسمبر 2018

يكتب التابع fsync مباشرةً جميع البيانات المخزنة في المجرى الذي استدعي معه على القرص. لاحظ أنَّ fsync يختلف عن استخدام التابع sync=‎ إذ يضمن الأخير أن تُرسل البيانات من المخازن المؤقتة (buffers) لروبي، ​​ولكنه لا يضمن أنّ نظام التشغيل سيكتبها بالفعل على القرص.

سيُطلق الاستثناء NotImplementedError إن لم يكن نظام التشغيل يدعم الدالة fsync(2)‎.

البنية العامة

fsync 0 or nil

القيمة المعادة

تعاد القيمة صفر عند انتهاء عملية الكتابة أو القيمة nil إن لم يكن هنالك أية بيانات لكتابتها.

انظر أيضًا

  • التابع fdatasync: يكتب مباشرةً جميع البيانات المخزنة في مجرى د/خ على القرص.
  • التابع flush: ينقل أي بيانات مخزَّنة في المجرى الذي استدعي معه إلى نظام التشغيل.

مصادر