Multithreading Interview Questions in Java for Freshers What are the benefits of using Multithreading? 2


What’s the purpose of the join() method?



Yüklə 0,82 Mb.
Pdf görüntüsü
səhifə11/20
tarix13.12.2023
ölçüsü0,82 Mb.
#176388
1   ...   7   8   9   10   11   12   13   14   ...   20
Threads

14. What’s the purpose of the join() method?
join() method is generally used to pause the execution of a current thread unless and
until the specified thread on which join is called is dead or completed. To stop a
thread from running until another thread gets ended, this method can be used. It
joins the start of a thread execution to the end of another thread’s execution. It is
considered the final method of a thread class.
15. What do you mean by garbage collection?
Garbage collection is basically a process of managing memory automatically. It uses
several GC algorithms among which the popular one includes Mark and Sweep. The
process includes three phases i.e., marking, deletion, and compaction/copying. In
simple words, a garbage collector finds objects that are no longer required by the
program and then delete or remove these unused objects to free up the memory
space.
Page 18
© Copyright by Interviewbit


Multithreading Interview Questions
16. Explain the meaning of the deadlock and when it can occur?
Deadlock, as the name suggests, is a situation where multiple threads are blocked
forever. It generally occurs when multiple threads hold locks on different resources
and are waiting for other resources to complete their task.
The above diagram shows a deadlock situation where two threads are blocked
forever. Thread 1 is holding Object 1 but needs object 2 to complete processing
whereas Thread 2 is holding Object 2 but needs object 1 first. In such conditions, both
of them will hold lock forever and will never complete tasks.
17. Explain volatile variables in Java?
A volatile variable is basically a keyword that is used to ensure and address the
visibility of changes to variables in multithreaded programming. This keyword
cannot be used with classes and methods, instead can be used with variables. It is
simply used to achieve thread-safety. If you mark any variable as volatile, then all the
threads can read its value directly from the main memory rather than CPU cache, so
that each thread can get an updated value of the variable.

Yüklə 0,82 Mb.

Dostları ilə paylaş:
1   ...   7   8   9   10   11   12   13   14   ...   20




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin