PDA

View Full Version : لطفا یک نمونه از کاربرد Multithreading در برنامه نویسی وب مطرح کنید!



eshpilen
سه شنبه 02 فروردین 1390, 13:36 عصر
شما تا حالا از قابلیت مالتی ترد در یک سایت یا اپلیکیشن وب استفاده کردید یا کاربردش رو جایی دیدید؟
چون در تالار PHP در تاپیک مقایسهء عملی دات نت و PHP با نمونه کد داریم بحث میکنیم که دات نت قابلیت مالتی ترد داره و PHP نداره و طرف مقابل میگه یه نمونهء عملی از کاربرد مالتی ترد در برنامه نویسی وب نشون بده که نشه بوسیلهء ایجکس پیاده سازی کرد.
البته من فکر نمیکنم ایجکس بتونه به خوانایی و راحتی و سرعت برنامه نویسی مالتی ترد واقعی برسه، اما بهرصورت کاربرد مالتی ترد در برنامه نویسی وب ظاهرا کم هست و بنده شخصا هنوز مورد واقعی و مفیدی به ذهنم نرسیده. بخصوص اگر یه مثالی باشه که با ایجکس نشه پیاده سازیش کرد خیلی خوبه :لبخند:

Mehdi_FT
سه شنبه 02 فروردین 1390, 16:34 عصر
به نظرم چند نخی (که معمولا در WinForm استفاده می شود)موارد استفاده آن برای برنامه نویس صفحه وب یا نیست یا خیلی باید نادر باشه دلیل آن هم اینکه لایه نمایش و پردازش در یک کامپیوتر قرار ندارد و به صورت دیگری در این مورد بحث می شود مثل صدا زدن توابع به صورت ناهمگام.
نکته چند نخی سرعت را بالا نمی بره بلکه باعث هم زمانی می شده و همان صدا زدن توابع به صورت ناهمگام می تونه کاربر وب را ارضا کنه.

eshpilen
سه شنبه 02 فروردین 1390, 20:44 عصر
موارد استفاده آن برای برنامه نویس صفحه وب یا نیست یا خیلی باید نادر باشه دلیل آن هم اینکه لایه نمایش و پردازش در یک کامپیوتر قرار نداردآره کاربردش کمه. مثل اینکه خودم باید فکر کنم یه سناریوی خوب براش پیدا کنم!

به صورت دیگری در این مورد بحث می شود مثل صدا زدن توابع به صورت ناهمگام.اینم باید یک شکل همون مالتی ترد باشه دیگه! یا منظورت چیز دیگه ای هست؟
آهان نکنه منظورت ایجکس هست؟

نکته چند نخی سرعت را بالا نمی بره بلکه باعث هم زمانی می شده و همان صدا زدن توابع به صورت ناهمگام می تونه کاربر وب را ارضا کنه. بله خیلی جاها حتی در دسکتاپ هم کاربردش بیشتر همزمانی هست تا افزایش سرعت.
اما بخصوص روی سرورهای وب که چند CPU دارن بنظرم میتونه سرعت پردازشهای سنگین رو بالا ببره.

Mehdi_FT
چهارشنبه 03 فروردین 1390, 12:49 عصر
آره درست گرفتی
در صورت چند پردازه ای بودن می تونه مفید باشه اگه برنامه نویس خودش بدونه داره چیکار می کنه و برنامه این قابلیت همزمان اجرا شدن را داشته باشه!!
به نظرم در صورتی که چند نخی (منظورم همون اجرای پردازش های کوچک(وظایف) بر روی یک پردازشگر)صرف منظورت باشه روی سرور معنی خاصی ندارد. مگه اینکه سناریوی زیر داشته باشی سرور شما قرار مسائل پیچیده ریاضی را حل کنه (مثلا چند ساعت طول می کشه) که احتیاج زیادی به Cpu داره آن وقت برای کنترل اجرای محاسبات ریاضی و مشاهده روند اجرای محاسبات می تونی از چند نخی استفاده کنی خلاصه اینکه کاربردش چرت :)

raziee
چهارشنبه 03 فروردین 1390, 17:56 عصر
یک سال پیش آقای نصیری (http://vahidnasiri.blogspot.com/) یک پروژه ای رو به اشتراک گذاشتند که عملیات دریافت فایل از youtube و ارسال اون به RapidShare رو داشت.
البته این برنامه به حالت Console بود که روی V.P.S اجرا میشد.
میشه یک Web Application ایجاد کرد و همین کار رو انجام بده.
پست مربوطه در وبلاگ آقای نصیری (http://vahidnasiri.blogspot.com/2010/03/blog-post_21.html)
نقل قول زیر از لینک بالا:

- ايجاد يك thread pool سفارشي كه هر بار 7 لينك مستقيم را به صورت همزمان از يوتيوب دريافت مي‌كند. (thread pool پيش فرض دات نت تمام تردها را به يكباره شروع مي‌كند كه براي اينكار مفيد نيست. به همين جهت از اين thread pool سفارشي شده استفاده شد)


من php بلد نیستم اما:
تو اینجور کارا قابل مقایسه با دات نت نیست.