سوال در مورد استفاده از اشیاء به طور همزمان در جاوا

0 رأی
میانگین بازدید روزانه 0.1885 بازدید

من چند تا شی مثل (()MyClass myclass = new MyClass )  و چند تا متغیر مثل ( long, int و ...) دارم. حال سوالاتی در این مورد دارم.

1. اگر چندین ترد همزمان مشغول خواندن شی یا متغیر یکسان بودند، آیا مشکلی ایجاد می شود؟

2. اگر چندین Thread در یک لحظه در حال عوض کردن مقدار یک متغیر یا شی بودند، آیا مشکلی ایجاد می شود؟

3. اگر من در یکجا در حال خواندن یک شی یا متغیر بودم و در جای دیگر در حال عوض کردن مقدار آن متغیر یا شی بودم، آیا مشکلی ایجاد می شود؟

آیا به چیز خاصی بستگی دارد؟ اگر مشکلی ایجاد می شود من باید چیکار کنم؟ این که همش از Atomic ها استفاده کنم، سرعت رو خیلی میاره پایین. ممنون میشم اگر دوستان راهنمایی کنند. اگر نیاز به کد بود بگید تا کد مشابه رو بنویسم بذارم.

سوال 1 سال قبل در تالار برنامه نویسی توسط kambiz moradi_962394 (7 امتیاز)
ویرایش 1 سال قبل توسط Saeed Zarinfam

1 جواب

0 رأی

فقط خواندن همزمان یک شی مشکلی ایجاد نخواهد کرد.
اما تغییر همزمان بر روی یک شی مشکل ایجاد خواهد کرد.
در کل تغییر در یک‌ شی به همراه هر ترد دیگر به احتمال بسیار بالا باعث اشکال در زمان اجرا و نتیجه نهایی خواهد شد.
توصیه میکنم برای این کار از بخش ۱۷ آموزش های سایت جاوا کاپ که بسیار عالی هستند استفاده کنید.

جواب 1 سال قبل توسط Peymankhn (35 امتیاز)
ویرایش 1 سال قبل توسط Saeed Zarinfam

سوال های مشابه

+1 رأی
1 جواب میانگین بازدید روزانه 0.2181 بازدید
+1 رأی
2 جواب میانگین بازدید روزانه 0.33701 بازدید
+1 رأی
2 جواب میانگین بازدید روزانه 0.2419 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.7660 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.21242 بازدید
+2 رأی
2 جواب میانگین بازدید روزانه 1.191,451 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.07100 بازدید
+2 رأی
2 جواب میانگین بازدید روزانه 0.17314 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.58197 بازدید
کانال تلگرام جواب یاب
...