Разлика между сън и изчакване

Сън срещу Чакай

Машини като компютрите използват изкуствен език, за да създават програми, да ги контролират и да им позволяват да съобщават инструкции и да изразяват алгоритми. Този език се нарича език за програмиране.

Преди появата на компютрите езиците за програмиране вече са били използвани в станове и пиана. Тъй като използването на компютър става все по -често, сега се използват няколко езика за програмиране.

Има няколко компютърни езика, включително езици на високо ниво като: BASIC, C, C ++, Fortran, Pascal и Java. Всяка виртуална машина и процесор имат свой собствен компютърен език, всеки със своите слабости и силни страни и всяка виртуална машина изпълнява нишка при стартиране. Тази нишка изпълнява кода на приложението в програмата. Това може да накара програмата да работи по -бързо и да помогне за нейната производителност и полезност, особено когато се използват множество нишки.

Виртуалните машини, като например виртуалната машина Java, поддържат концепция за множество потоци с нишки с по-висок приоритет, изпълнени първо върху нишки с по-нисък приоритет, осигуряващи справедливо разделение на обработката на времето.

Той използва методи за управление на нишки, които могат да създават, контролират и прекратяват потока от контроли или нишки в споделено пространство. Два от тези методи за управление на нишки са методите на изчакване и заспиване.

Тези два метода са отделни. Методът на заспиване контролира изпълнението на нишката и забавя следващото действие, докато методът на чакане не контролира изпълнението на нишката, за да позволи на други нишки да работят.

Методът на чакане е дефиниран в класа Object и изпраща текущата нишка в състояние, което не може да се изпълнява. Той се използва заедно с методите notify и notifyAll, за да позволи на кода за изпълнение на обект да спре временно и да го възобнови по -късно.

Той работи, като извиква обект за заключване и позволява на текущата нишка да се синхронизира с него. Wait ще освободи заключването и ще постави нишката в списъка на чакащите и ще позволи на други нишки да се синхронизират с нея, което ще предизвика събуждането на оригиналната нишка. Програмистът определя конкретното време, когато изпълнението започва отново.

Методът за сън, от друга страна, се определя като статичен метод. Той забавя изпълнението на нишки, а не на обекти, както и спира нишката, която се изпълнява. Той изпраща текущи нишки в състояние, което не може да се изпълнява за определен период от време. Тя може да повлияе на поведението на приложения, които са многопоточни, защото запазва ключалките за синхронизация на текущата нишка. След като нишката е в синхронизиран блок, никоя друга нишка не може да влезе в блока.

Резюме:

1. „Sleep“ е метод за управление на нишки, който е дефиниран като статичен метод, докато „wait“ е метод за управление на нишки, който е дефиниран в класа Object. 2. Sleeping е метод, който изпълнява нишки, докато wait е метод, който изпълнява обекти. 3. Sleeping запазва ключалките за синхронизация на текущата нишка и влияе върху поведението на приложенията, докато чакането не. 4. Sleeping контролира изпълнението на нишката и не позволява други нишки в синхронизиран блок, докато wait не контролира изпълнението на нишката, за да позволи на други нишки да работят.

Вижте повече за: ,