یکی از روش هایی که می توان با استفاده از آن بخش های برنامه را به صورت موازی انجام داد استفاده از حلقه های موازی است. فرض کنید یک مجموعه کار داریم که می توانیم آن ها را به صورت موازی انجام دهیم. MATLAB Client داده های لازم را به یک pool از worker ها می دهد. هر کدام از worker ها مستقل از بقیه شروع به انجام کاری می کند که به آن محول شده است. کاملا مشخص است که این worker ها نباید وابستگی داده ای به هم داشته باشند: یعنی هیچکدام به داده های دیگری در مرحله ای از کار نیاز نداشته باشند. همچنین کارها ممکن است همزمان تمام نشوند. پس باید همه کارهایشان را تمام کنند تا نتیجه نهایی را داشته باشیم
فرض کنید بخواهیم یک آرایه را به صورت زیر پر کنیم:
از آنجایی که هر سطر از خروجی در مکان های مستقل و جدایی ذخیره می شوند می توان این کار را به صورت موازی انجام داد. برای این که متوجه بشوید هر بخش از حلقه در زمان متفاوتی کارش تمام می شود کافی است کد زیر را اجرا کنید:
خروجی به ترتیب نیست از طرفی در هر بار اجرای این حلقه نتایج متفاوتی به دست می اید.
باید توجه کنید که همه جا نمی توانید از parfor استفاده کنید چراکه این کار اولا باید برای کارهای نسبتا سنگین باشد و ثانیا استقلال داده ای و زمانی برای کارهایتان وجود داشته باشد.