مثال عملی :

بزرگترین تفاوت بین فایلها و سوکتها این است که در مجموع سرعت دسترسی به فایلها بیشتر است ٬ هرچند دسترسی به فایلها همیشه هم سریع نیست . فلاپی دیسک ها ٬ درایوهای شبکه ای ٬ منابع پشتیبان گیری و منابع سلسله مراتبی غالبا برای کار با فایلها زمان زیادی را نیاز دارند .

در ادامه برای بهتر عنوان کردن مطالب مثالی را در مورد نحوه کار کردن مدل برنامه نویسی Blocking و Non Blocking بروی فایلها عنوان می کنم .

و اما مثال :

در ذیل روش باز کردن ٬ نوشتن اطلاعات و سرانجام بستن فایلی را از طریق دو مدل برنامه نویسی Blocking و Non Blocking را توضیح میدهیم .

ابتدا یک متغیر رشته ای تعریف میکنیم و مقداری را به آن میدهیم .

procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
begin
s := 'Welcome To Barnamenevis.org , Stay and Enjoy' + #13#10;


حالا اقدام به ایجاد و باز کردن فایل میکنیم .

try
with TFileStream.Create('c:\Barnamenevis\test.d at', fmCreate) do try


در این مرحله نوبت نوشتن اطلاعات در فایل است .

WriteBuffer(s[1], Length(s));


و در آخر فایل را میبندیم .

finally Free; end;
end;
end;


این مثالی کوچک بر مدل برنامه نویسی Blocking بود ٬ همانطور که ملاحظه میفرمایید در مدل برنامه نویسی بلاکینگ کل کد نویسی در یک محل و پشت سر هم قرار دارد . ( در این مثال در رویداد OnClick مربوط به ‌Button1 صورت گرفت ) .