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

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

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

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

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

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

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

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

1 جواب

0 رأی

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

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

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

+1 رأی
1 جواب میانگین بازدید روزانه 0.1953 بازدید
+1 رأی
2 جواب میانگین بازدید روزانه 0.3618 بازدید
+1 رأی
2 جواب میانگین بازدید روزانه 0.19381 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.22222 بازدید
+2 رأی
2 جواب میانگین بازدید روزانه 1.161,296 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.0788 بازدید
+2 رأی
2 جواب میانگین بازدید روزانه 0.17296 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.493 بازدید
+1 رأی
0 جواب میانگین بازدید روزانه 0.54216 بازدید
کانال تلگرام جواب یاب
...