نمایش نتایج 1 تا 4 از 4

نام تاپیک: چند سوال دررابطه با برنامه نویسی چند نخی

  1. #1
    کاربر جدید
    تاریخ عضویت
    دی 1393
    محل زندگی
    شاهرود
    پست
    8

    Question چند سوال دررابطه با برنامه نویسی چند نخی

    با سلام. لطفا دررابطه با مطلب زیر راهنماییم کنید. باتشکر

    دارم الگوریتم toom-cook که الگوریتم ضرب سریع دو عدد بزرگ هست رو پیاده سازی میکنم، منتهی بخاطر سرعت بخشیدن بهش میخوام بصورت چندنخی بنویسم. تازه شروع به برنامه نویسی چند نخی کردم و چیز زیادی یاد ندارم . فقط تا حدی میدونم Lock ها چی هستن و هر thread چطور lock یک شیء رو تسخیر میکنه و synchronization بین چند نخ که روی یک منبع کار میکنن، چطور باید صورت بگیره.


    توی الگوریتمی که دارم پیاده سازی میکنم، قسمتی داره که دو عدد باید بصورت یک چند جمله ای دربیان. تبدیل کردن هر عدد به چندجمله ای به عدد دیگه ربطی نداره. میخوام اینکارو بصورتی انجام بدم که تبدیل هر عدد به چندجمله ای توسط یک نخ انجام بشه. چندتا سوال برام ایجاد شده:


    1. من برای تبدیل کردن، متدی ساختم مثلا با نام A که تبدیل هردو عدد داخلش صورت میگیره. وقتی داخل این متد نخ بسازم واجراش کنم، این نخ دقیقا Lock چه شیئی رو میگیره؟!


    2. الگوریتم بصورت بازگشتی انجام میشه. توی این حالت، نکات مربوط به synchronization باید رعایت بشه؟ یعنی وقتی از داخل یک متد (مثلا B) که داخلش بصورت چندنخی کدشو زدم، دوباره خودش فراخوانی کنم، خطاهای starvation و deadlock بوجود میان یا ن؟


    3. پایین آدرس پستی هست که در codereview ارسال کردم، منتهی کسی جواب نداده. 😓 کدم اونجاست، اگر تونستید یه نگاه بهش بندازید و. توی قسمت اطلاع رسانی به متد main هم مشکل دارم که انتهای کدم توی همون پست گفتم. لطفا بگید که ایا ساختار کدم درسته یا باید تصحیح بشه. کد

  2. #2
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: چند سوال دررابطه با برنامه نویسی چند نخی

    1. من برای تبدیل کردن، متدی ساختم مثلا با نام A که تبدیل هردو عدد داخلش صورت میگیره. وقتی داخل این متد نخ بسازم واجراش کنم، این نخ دقیقا Lock چه شیئی رو میگیره؟!
    اگر منظورتون اینه متدتون رو به صورتی syncronized void myMethd() نوشتید مثلا، اونوقت اگر یک thread به این متد دسترسی پیدا کنه، اونوقت "کل آبجکت فعلی" قفل میشه.

    2. الگوریتم بصورت بازگشتی انجام میشه. توی این حالت، نکات مربوط به synchronization باید رعایت بشه؟ یعنی وقتی از داخل یک متد (مثلا B) که داخلش بصورت چندنخی کدشو زدم، دوباره خودش فراخوانی کنم، خطاهای starvation و deadlock بوجود میان یا ن؟
    نه، فکر نمیکنم. چون از داخل خود همون thread داره فراخوانی میشه.

    3. پایین آدرس پستی هست که در codereview ارسال کردم، منتهی کسی جواب نداده. ������ کدم اونجاست، اگر تونستید یه نگاه بهش بندازید و. توی قسمت اطلاع رسانی به متد main هم مشکل دارم که انتهای کدم توی همون پست گفتم. لطفا بگید که ایا ساختار کدم درسته یا باید تصحیح بشه. کد

    خب طرف راست گفته دیگه، تا به حال ندیدم یک کلاس رو داخل متد تعریف کنند!! اینقدر کمبود فضا دارید؟!
    چند نمونه که استفاده میشه ولی بازم خیلی استفاده نمیشه، پیاده سازی برخی از متدهای یک کلاس در ایجاد آبجکت (مثلا پیاده سازی MouseListener و...)
    یا کلاسهای private که داخل یک کلاس تعریف میشه.

    ولی اینکه یک کلاس رو داخل یک متد تعریف کنید، خیلی خوانایی رو کاهش میده. این مشکل رو رفع کنید تا جوابتون رو بدن
    آخرین ویرایش به وسیله vahid-p : دوشنبه 02 اسفند 1395 در 14:18 عصر

  3. #3
    کاربر جدید
    تاریخ عضویت
    دی 1393
    محل زندگی
    شاهرود
    پست
    8

    نقل قول: چند سوال دررابطه با برنامه نویسی چند نخی

    ممنون از پاسختون

    نه، فکر نمیکنم. چون از داخل خود همون thread داره فراخوانی میشه.
    درحالت کلی کار درستی هست نخ ها بصورت تودرتو بکار گرفته بشن؟

    خب طرف راست گفته دیگه، تا به حال ندیدم یک کلاس رو داخل متد تعریف کنند!! اینقدر کمبود فضا دارید؟!
    نه. اصلا. اما توی آموزش های Oracle گفته شده ک اگر یک کلاس تنها قراره برای یک متد مورد استفاده قرار بگیره، بهتره که توی همون متد تعریف بشه.
    از نظر شما ایرادی نداره که مثلا یک برنامه 100 کلاس داشته باشه که 60 تای اون کلاسا فقط و فقط داخل یک متد ازشون استفاده میشه؟

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

  4. #4
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: چند سوال دررابطه با برنامه نویسی چند نخی

    از نظر شما ایرادی نداره که مثلا یک برنامه 100 کلاس داشته باشه که 60 تای اون کلاسا فقط و فقط داخل یک متد ازشون استفاده میشه؟
    معمولا کم پیش میاد چنین حالتی. ولی خب پیش بیاد، چه اشکالی داره.

تاپیک های مشابه

  1. چند سوال در باره برنامه نویسی چند لایه
    نوشته شده توسط NIMA_1981 در بخش ASP.NET Web Forms
    پاسخ: 4
    آخرین پست: جمعه 18 شهریور 1390, 22:53 عصر
  2. مشکل با برنامه نویسی چند لایه
    نوشته شده توسط mohsen_metn در بخش C#‎‎
    پاسخ: 5
    آخرین پست: دوشنبه 17 آبان 1389, 16:55 عصر
  3. سوال: سوال در مورد برنامه نویسی چند لایه
    نوشته شده توسط f.nabavi در بخش VB.NET
    پاسخ: 0
    آخرین پست: یک شنبه 23 خرداد 1389, 17:26 عصر
  4. چند سوال در مورد برنامه نویسی با فایل
    نوشته شده توسط gune_baxan در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 3
    آخرین پست: چهارشنبه 19 تیر 1387, 18:49 عصر
  5. چند تا سوال در رابطه برنامه نویسی جاوا
    نوشته شده توسط SINYORITA در بخش برنامه‌نویسی جاوا
    پاسخ: 3
    آخرین پست: سه شنبه 05 تیر 1386, 20:10 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •