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

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

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

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

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

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

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

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

1 جواب

0 رأی

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

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

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

+1 رأی
1 جواب میانگین بازدید روزانه 0.2628 بازدید
+1 رأی
2 جواب میانگین بازدید روزانه 0.26489 بازدید
+1 رأی
2 جواب میانگین بازدید روزانه 0.16305 بازدید
+1 رأی
1 جواب میانگین بازدید روزانه 0.24201 بازدید
+2 رأی
2 جواب میانگین بازدید روزانه 1.131,064 بازدید
0 رأی
0 جواب میانگین بازدید روزانه 0.0670 بازدید
+2 رأی
2 جواب میانگین بازدید روزانه 0.18274 بازدید
0 رأی
1 جواب میانگین بازدید روزانه 0.5433 بازدید
+1 رأی
0 جواب میانگین بازدید روزانه 0.55123 بازدید
+1 رأی
0 جواب میانگین بازدید روزانه 0.2970 بازدید
کانال تلگرام جواب یاب
...