Q21. What is multi-threading?
Multi-threading means
various threads that run in a system.
Q22. How does multi-threading take place on a computer with a single CPU?
The operating
system's task scheduler allocates execution time to multiple tasks. By quickly
switching between executing tasks, it creates the impression that tasks execute
sequentially.
Q23. How to create a thread in a program?
You have two ways to
do so. First, making your class "extends" Thread class. Second,
making your class "implements" Runnable interface. Put jobs in a
run() method and call start() method to start the thread.
Q24. Can Java object be locked down for exclusive use by a given thread?
Yes. You can lock an
object by putting it in a "synchronized" block. The locked object is
inaccessible to any thread other than the one that explicitly claimed it.
Q25. Can each Java object keep track of all the threads that want to exclusively access to it?
Yes. Use
Thread.currentThread() method to track the accessing thread.
Q26. Does it matter in what order catch statements for FileNotFoundException and IOExceptipon are written?
Yes, it does. The
FileNoFoundException is inherited from the IOException. Exception's subclasses
have to be caught first.
Q27. What invokes a thread's run() method?
After a thread is
started, via its start() method of the Thread class, the JVM invokes the
thread's run() method when the thread is initially executed.
Q28. What is the purpose of the wait(), notify(), and notifyAll() methods?
The wait(),notify(),
and notifyAll() methods are used to provide an efficient way for threads to
communicate each other.
Q29. What are the high-level thread states?
The high-level thread states are ready, running, waiting, and dead.
Q30. What is the difference between yielding and sleeping?
When a task invokes its yield() method, it returns to the ready state. When a task invokes its sleep() method, it returns to the waiting state.
No comments:
Post a Comment