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

نام تاپیک: MSMQ & Thread

  1. #1

    MSMQ & Thread

    آیا توابع مربوط به
    MSMQ نظیر
    MQReceiveMessage و MQSendMessage و دیگر توابع موجود در فایل mq.h قابل استفاده در Thread ها هستند بعبارتی Threadsafe هستند.

  2. #2

    نقل قول: MSMQ & Thread

    نقل قول نوشته شده توسط behnia_k مشاهده تاپیک
    آیا توابع مربوط به
    MSMQ نظیر
    MQReceiveMessage و MQSendMessage و دیگر توابع موجود در فایل mq.h قابل استفاده در Thread ها هستند بعبارتی Threadsafe هستند.
    با استفاده از این توابع می توان بین چند پردازه تو یک کامپیوتر ویا در کامپیوترهای ریموت شده به تبادل پیغام پرداخت که کاربردهایی زیادی هم داره البته فقط در ویندوز ...
    بنابراین thread safety بودن اصولا نمی تونه نیاز باشه! یعنی شما داده ای ندارید که بخواهید در یک پردازش در چند نخ باهم سر استفاده از منابع به رقابت بپردازند چون همونطور که عرض کردم با استفاده از این توابع شما بین چند پردازه مختلف در حال انتقال داده هستید قطعا نمی تونه race condition رخ بده علتش هم که خوب کاملا واضح هست هر پردازه توسط سیستم عامل کنترل میشه و منابع خودش را داره!
    بنابراین استفاده از این توابع در یک پردازه بین چند نخ معنی نداره! که بخواهد thread safe هم باشند!

  3. #3

    نقل قول: MSMQ & Thread

    نقل قول نوشته شده توسط farhad_shiri_ex مشاهده تاپیک
    با استفاده از این توابع می توان بین چند پردازه تو یک کامپیوتر ویا در کامپیوترهای ریموت شده به تبادل پیغام پرداخت که کاربردهایی زیادی هم داره البته فقط در ویندوز ...
    بنابراین thread safety بودن اصولا نمی تونه نیاز باشه! یعنی شما داده ای ندارید که بخواهید در یک پردازش در چند نخ باهم سر استفاده از منابع به رقابت بپردازند چون همونطور که عرض کردم با استفاده از این توابع شما بین چند پردازه مختلف در حال انتقال داده هستید قطعا نمی تونه race condition رخ بده علتش هم که خوب کاملا واضح هست هر پردازه توسط سیستم عامل کنترل میشه و منابع خودش را داره!
    بنابراین استفاده از این توابع در یک پردازه بین چند نخ معنی نداره! که بخواهد thread safe هم باشند!
    با تشکر
    توابع گفته شده از هندل QUEUEHANDLE که یک پوینتر است که توسط تابع MQOpenQueue مقدار دهی میشود استفاده می شود.
    حال اگر ما یک بار به این هندل را مقدار دهی کنیم و از آن در تردهای مختلف استفاده کنیم مشکلی ایجاد می کند یا نه.

    نمی خواهم در هر ترد از MQOpenQueue استفاده کنم.

  4. #4

    نقل قول: MSMQ & Thread

    نقل قول نوشته شده توسط behnia_k مشاهده تاپیک
    با تشکر
    توابع گفته شده از هندل QUEUEHANDLE که یک پوینتر است که توسط تابع MQOpenQueue مقدار دهی میشود استفاده می شود.
    حال اگر ما یک بار به این هندل را مقدار دهی کنیم و از آن در تردهای مختلف استفاده کنیم مشکلی ایجاد می کند یا نه.

    نمی خواهم در هر ترد از MQOpenQueue استفاده کنم.
    بله! شما وقتی یکبار در یک نخ مقداردهی میکنید دیگه تو یک نخ دیگه ای که مقدار هندل را به روز نمی کنید پس اگر مالکیت یکتا مدنظرتون هست بله! ایمن هست! خیلی هم بهتره از اشاره گرهای هوشمند مثل unique_ptr استفاده کنید!

  5. #5

    نقل قول: MSMQ & Thread

    نقل قول نوشته شده توسط farhad_shiri_ex مشاهده تاپیک
    بله! شما وقتی یکبار در یک نخ مقداردهی میکنید دیگه تو یک نخ دیگه ای که مقدار هندل را به روز نمی کنید پس اگر مالکیت یکتا مدنظرتون هست بله! ایمن هست! خیلی هم بهتره از اشاره گرهای هوشمند مثل unique_ptr استفاده کنید!
    متشکرم
    با این توضیحات آیا میتوان گقت توابع مربوط به خواندن و نوشتن در MSMQ با هندل ایجاد شده توسط
    MQOpenQueue
    برخلاف هندل FILE جهت استفاده از در Thread ایمن هستند.
    البته اگر اینطور باشد به نظرم کنترلهای مربور به دسترسی همزمان در داخل خود توابع کنترل میشوند.

  6. #6

    نقل قول: MSMQ & Thread

    نقل قول نوشته شده توسط behnia_k مشاهده تاپیک
    آیا توابع مربوط به
    MSMQ نظیر
    MQReceiveMessage و MQSendMessage و دیگر توابع موجود در فایل mq.h قابل استفاده در Thread ها هستند بعبارتی Threadsafe هستند.
    درود
    Threadsafe نیستند.
    باید از Thread synchronization یا راه های دیگه استفاده کنید

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

  1. سوال: وب سرويس مبتنی بر پيام(MSMQ)
    نوشته شده توسط saeed262626 در بخش WCF , Web Services , .Net Remoting
    پاسخ: 0
    آخرین پست: چهارشنبه 07 مهر 1389, 11:36 صبح
  2. سوال: وب سرويس مبتنی بر پيام(MSMQ)
    نوشته شده توسط saeed262626 در بخش WCF , Web Services , .Net Remoting
    پاسخ: 0
    آخرین پست: چهارشنبه 07 مهر 1389, 11:35 صبح
  3. سوال: thread.pause -> thread.abort -> ERROOOOR
    نوشته شده توسط black_wear در بخش C#‎‎
    پاسخ: 7
    آخرین پست: دوشنبه 26 اسفند 1387, 13:14 عصر
  4. سوال: دسترسی به اشیاء یک Thread از داخل Thread دیگر
    نوشته شده توسط bah_jaf در بخش VB.NET
    پاسخ: 1
    آخرین پست: چهارشنبه 29 آبان 1387, 20:35 عصر
  5. دسترسی به یک Thread از یک Thread دیگر
    نوشته شده توسط Xcalivorse در بخش C#‎‎
    پاسخ: 3
    آخرین پست: یک شنبه 30 تیر 1387, 08:59 صبح

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

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