دانلود کتاب Java Threads
49,000 تومان
موضوعات جاوا
| موضوع اصلی | برنامه نویسی: زبان های برنامه نویسی |
|---|---|
| نوع کالا | کتاب الکترونیکی |
| ناشر | O’Reilly & Associates |
| تعداد صفحه | 309 |
| حجم فایل | 2 مگابایت |
| کد کتاب | 9780596007829,0596007825 |
| نوبت چاپ | ویرایش سوم |
| نویسنده | Henry Wong, Scott Oaks |
|---|---|
| زبان | انگلیسی |
| فرمت | |
| سال انتشار | 2004 |
جدول کد تخفیف
| تعداد کتاب | درصد تخفیف | قیمت کتاب |
| 1 | بدون تخفیف | 25,000 تومان |
| 2 | 20 درصد | 20,000 تومان |
| 3 الی 5 | 25 درصد | 18,750 تومان |
| 6 الی 10 | 30 درصد | 17,500 تومان |
| 11 الی 20 | 35 درصد | 16,250 تومان |
| 21 الی 30 | 40 درصد | 15,000 تومان |
| 31 الی 40 | 45 درصد | 13,750 تومان |
| 41 الی 50 | 50 درصد | 12,500 تومان |
| 51 الی 70 | 55 درصد | 11,250 تومان |
| 71 الی 100 | 60 درصد | 10,000 تومان |
| 101 الی 150 | 65 درصد | 8,750 تومان |
| 151 الی 200 | 70 درصد | 7,500 تومان |
| 201 الی 300 | 75 درصد | 6,250 تومان |
| 301 الی 500 | 80 درصد | 5,000 تومان |
| 501 الی 1000 | 85 درصد | 3,750 تومان |
| 1001 الی 10000 | 90 درصد | 2,500 تومان |
ترجمه فارسی توضیحات (ترجمه ماشینی)
موضوعات جاوا
این کتاب ادعاهای زیر را مطرح می کند که تا آنجا که من می بینم به دلایل ذکر شده کاملاً بی اساس هستند:
> یک ماشین مجازی جاوا برای پیاده سازی یک زمانبندی پیشگیرانه و مبتنی بر اولویت مورد نیاز است
کلمه “پیشگیرانه” در JLS ظاهر نمی شود.
> ماشین مجازی جاوا هرگز اولویت یک رشته را تغییر نمی دهد، حتی اگر موضوع برای مدت زمان مشخصی در حال اجرا باشد.
اون رو هم جایی پیدا نمیشه
> قرارداد بین ماشین مجازی جاوا و سیستم عامل زیربنایی این است که سیستم عامل به طور کلی باید انتخاب کند تا رشته جاوا را با بالاترین اولویت اجرا کند.
“قرارداد” بین کد جاوا و JVM است، نه JVM و O/S.
> وقتی می گوییم جاوا یک زمانبندی مبتنی بر اولویت را پیاده سازی می کند، منظور ما همین است
اصلاً جاوا برای «پیادهسازی» زمانبندی لازم نیست.
> این زمانبندی به صورت پیشگیرانه پیادهسازی میشود، به این معنی که وقتی یک رشته با اولویت بالاتر همراه میشود، آن رشته هر رشته با اولویت پایینتری را که در آن زمان اجرا میشود، قطع میکند (پیشگیری میکند).
این در هیچ کجای JLS ظاهر نمی شود.
> با این حال، قرارداد با سیستم عامل مطلق نیست، به این معنی که سیستم عامل گاهی اوقات می تواند یک رشته با اولویت پایین تر را اجرا کند.
به عبارت دیگر +not+ پیشگیرانه است. تصمیمت را بگیر
> الزامات جاوا برای مکانیسم زمانبندی پیشگیرانه مبتنی بر اولویت …
که هیچ جا پیدا نمی شود.
> یک رشته جاوا می تواند یکی از ۱۱ اولویت را داشته باشد
MIN_PRIORITY 1 است، MAX_PRIORITY 10 است: این 10 است نه 11.
> در واقع، preemption فقط به این معنی است که یک رشته با اولویت بالاتر به جای یک موضوع با اولویت پایین تر اجرا شود.
نه اینطور نیست. این بدان معناست که وقتی یک رشته با اولویت بالاتر آماده می شود، از اجرای هر رشته با اولویت پایین تر که در حال حاضر بدون توجه به بخش زمانی و غیره در حال اجرا هستند، جلوگیری می کند. پیاده سازی.
با وجود این خطاهای فاحش نمی توان این کتاب را توصیه کرد. کتاب داگ لی همان طور که دیگر منتقدان توصیه می کنند، کتابی است که باید دنبالش رفت.
This book makes the following claims which as far as I can see are entirely baseless, for the reasons given:
> A Java virtual machine is required to implement a preemptive, priority-based scheduler
The word ‘pre-emptive’ does not appear in the JLS.
> The Java virtual machine never changes the priority of a thread, even if the thread has been running for a certain period of time
Can’t find that anywhere either.
> the contract between the Java virtual machine and the underlying operating system is that the operating system must generally choose to run the Java thread with the highest priority
The ‘contract’ is between the Java code and the JVM, not the JVM and the O/S.
> That’s what we mean when we say that Java implements a priority-based scheduler
Java isn’t required to ‘implement’ a scheduler at all.
> This scheduler is implemented in a preemptive fashion, meaning that when a higher-priority thread comes along, that thread interrupts (preempts) whatever lower-priority thread is running at the time.
This appears nowhere in the JLS.
> The contract with the operating system, however, is not absolute, which means that the operating system can sometimes choose to run a lower-priority thread.
In other words it’s +not+ pre-emptive. Make up your mind.
> Java’s requirement for a priority-based, preemptive scheduling mechanism …
Which is nowhere to be found.
> A Java thread can have one of 11 priorities
MIN_PRIORITY is 1, MAX_PRIORITY is 10: that makes 10, not 11.
> In fact, preemption means only that a higher-priority thread runs instead of a lower-priority one
No it doesn’t. It means that when a higher-priority thread becomes ready it pre-empts the execution of any lower-priority threads that are currently executing regardless of time-slice etc. This is a feature of real-time systems that Java is +not+ required to implement.
This book cannot be recommended in the presence of these egregious errors. Doug Lea’s book as recommended by other reviewers is the one to go for.

نقد و بررسیها
هنوز بررسیای ثبت نشده است.