مسیرها
/
Wren
Wren
/
تمرین‌ها
/
فراوانی موازی حروف
فراوانی موازی حروف

فراوانی موازی حروف

متوسط

دستورالعمل‌ها

فراوانی حروف را در متن‌ها با استفاده از محاسبات موازی بشمارید.

موازی‌سازی یعنی کارهایی را به‌صورت موازی انجام دهیم که می‌توان آن‌ها را به‌صورت متوالی هم انجام داد. یک مثال رایج، شمردن فراوانی حروف است.

برای محاسبه‌ی فراوانی کل هر حرف در فهرستی از متن‌ها، از موازی‌سازی استفاده کنید.

همروندی در برابر موازی‌سازی

Wren با ساختاری به نام «فیبر» امکان «همروندی» را فراهم می‌کند. از راهنمای Wren:

فیبر‌ها تا حدی شبیه رشته‌ها هستند، با این تفاوت که زمان‌بندی آن‌ها تعاونی است. یعنی Wren یک فیبر را متوقف نمی‌کند و به فیبر دیگری سوئیچ نمی‌کند مگر اینکه خودتان بگویید.

اجرای Wren تک‌رشته‌ای است، بنابراین در واقع «موازی‌سازی» به دست نمی‌آید.

در ادامه تعریف کوتاهی از هر کدام می‌آوریم که تفاوت این دو را نشان می‌دهد:

  • همروندی یعنی دو یا چند کار می‌توانند در بازه‌های زمانی هم‌پوشان شروع شوند، اجرا شوند و به پایان برسند، در حالی که یک واحد پردازش یکسان آن‌ها را اجرا می‌کند.
  • موازی‌سازی یعنی دو یا چند کار می‌توانند همزمان شروع شوند و اجرا شوند، در حالی که واحدهای پردازش جداگانه آن‌ها را مستقل از هم اجرا می‌کنند.

درباره‌ی همروندی در Wren بیشتر بخوانید.

ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
Wren Exercism

آماده‌اید فراوانی موازی حروف را شروع کنید؟

در Exercism ثبت‌نام کنید تا Wren را همراه با 117 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.

بررسی عمیق فراوانی موازی حروف!

ما تفاوت‌های میان هم‌روندی و موازی‌سازی را بررسی می‌کنیم و به رویکردهای متفاوتی که زبان‌هایی مانند JavaScript، Go، Elixir و Rust در پیش می‌گیرند نگاه می‌کنیم.