انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


ارائه ۲۴٫۱۰ اوبونتو منتشر شد 🎉

نویسنده موضوع: ارتباط چند نخ با یکدیگر  (دفعات بازدید: 2310 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین rezass

  • Full Member
  • *
  • ارسال: 153
  • مرگ بر نژاد پرستی
ارتباط چند نخ با یکدیگر
« : 13 دی 1389، 12:37 ق‌ظ »
من هرچی گشتم نتونستم چیزی پیدا کنم که همین کار ساده رو بتونه انجام بده.
من میخوام یه پراسس اصلی باشه و مثلا ۵ تا thread درست کنه و موقع درست کردن به هرکدوم یه سری پارامتر بده که این قسمتش رو میتونم بنویسم.
ولی مشکلم اینه که چطوری از این نخ ها اطلاعات بگیرم مثلا هر نخ یه متغیر داره که توش یه عدده من میخوام نخ اصلی دونه دونه مقدار این متغیر توی نخ ها رو بخونه البته این نخ ها در حال اجرا هستن همشون و وسط کار نخ اصلی این مقادیر رو میخونه و مثلا هر ۱ ثانیه یه بار مقدار این متغیر همه رو میخونه.

آفلاین HojjatJafary

  • Full Member
  • *
  • ارسال: 107
پاسخ به: ارتباط چند نخ با یکدیگر
« پاسخ #1 : 13 دی 1389، 01:06 ق‌ظ »
سلام

بهتر بود کمی راجع زبان و یا کتابخانه یا فریم ورکی که کار می کنید توضیح دهید.
نکته اول این که شما نمی توانید به داده محلی درون یک نخ دسترسی داشته باشید پس باید راهی برای ارتباط بین نخ ها بیابید.
اگر از کتابخانه ای استفاده می کنید که امکان messaging دارد باید از آن استفاده کنید در غیر این صورت می توانید یک داده مشترک بگیرید که مقدار متغیر را روی آن بنویسید و سپس آن را توسط نخ اصلی بخوانید و یا از یک صف استفاده کنید که در اینجا مسايل مربوط به critical section پیش می آید و باید نکات همزمانی را رعایت کنید.

البته شاید راه های بهتری هم باشد ، به هر حال اطلاعات بنده در این حد بیشتر نیست.

نکته آخر: بهتر نبود چنین سوال برنامه نویسی را در یک فروم تخصصی برنامه نویسی مثل سایت برنامه نویس مطرح می کردید؟

آفلاین rezass

  • Full Member
  • *
  • ارسال: 153
  • مرگ بر نژاد پرستی
پاسخ به: ارتباط چند نخ با یکدیگر
« پاسخ #2 : 13 دی 1389، 07:00 ب‌ظ »
سلام

بهتر بود کمی راجع زبان و یا کتابخانه یا فریم ورکی که کار می کنید توضیح دهید.
نکته اول این که شما نمی توانید به داده محلی درون یک نخ دسترسی داشته باشید پس باید راهی برای ارتباط بین نخ ها بیابید.
اگر از کتابخانه ای استفاده می کنید که امکان messaging دارد باید از آن استفاده کنید در غیر این صورت می توانید یک داده مشترک بگیرید که مقدار متغیر را روی آن بنویسید و سپس آن را توسط نخ اصلی بخوانید و یا از یک صف استفاده کنید که در اینجا مسايل مربوط به critical section پیش می آید و باید نکات همزمانی را رعایت کنید.

البته شاید راه های بهتری هم باشد ، به هر حال اطلاعات بنده در این حد بیشتر نیست.

نکته آخر: بهتر نبود چنین سوال برنامه نویسی را در یک فروم تخصصی برنامه نویسی مثل سایت برنامه نویس مطرح می کردید؟

در مورد زبان شرمنده c++ میخوام کار کنم و به خاطر این اینجا مطرح کردم که برای لینوکس میخوام برنامه بنویسم و کار خیلی خاصی نمیخواد انجام بده گفتم شاید توی همین سیگنال هایی که میشه فرستاد یه چیزی باشه که این کار رو انجام بده و اگه کسی یه برنامه کوچیک هم نوشته باشه میتونه کمک کنه.
به هر حال اگه اینجا نتیجه ای نگیرم باید برم سراغ فروم های تخصصی برنامه نویسی
ممنون

آفلاین r_m1232002

  • Full Member
  • *
  • ارسال: 143
پاسخ به: ارتباط چند نخ با یکدیگر
« پاسخ #3 : 13 دی 1389، 07:22 ب‌ظ »
کتابخانه Boost بخشی در این رابطه دارد: http://www.boost.org/doc/libs/1_45_0/doc/html/thread.html