مثال عملی :
بزرگترین تفاوت بین فایلها و سوکتها این است که در مجموع سرعت دسترسی به فایلها بیشتر است ٬ هرچند دسترسی به فایلها همیشه هم سریع نیست . فلاپی دیسک ها ٬ درایوهای شبکه ای ٬ منابع پشتیبان گیری و منابع سلسله مراتبی غالبا برای کار با فایلها زمان زیادی را نیاز دارند .
در ادامه برای بهتر عنوان کردن مطالب مثالی را در مورد نحوه کار کردن مدل برنامه نویسی 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 صورت گرفت ) .