Interview question on thread in Java _ Techartifact.pdf

15
About Disclaimer 564Subscribers  237Fans 70Followers Home Oracle ADF Java Spring .NET News Join Us 8 Interview question on thread in Java Vinay 06 Jun 2011 Interview question on thread in Java, Java, thread interview question Views: 30,427 views Q: What is a Thread? Ans) In Java, “thread” means two different things: An instance of class java.lang.Threa d. A thread of execution. An instance of Thread is just…an object. Like any other object in Java, it has variables and methods, and lives and dies on the heap. But a thread of execution is an i ndividual process (a “lightweight” process) that has its own call stack. In Java, there is one thread per call stack—or, to think of it in reverse, one call stack per thread. Even if you don’t create any new threads in your program, threads are back there running. The main() method, that starts the whole ball rolli ng, runs in one thread, called (surprisingly) the main thread. If you looked at the main call stack (and you can, any time you get a stack trace from something that happens after main begins, but not within another thread), you’d see that main() is the first method on the stack— the method at the bottom. But as soon as you create a new thread, a new stack materializes and methods called from that thread run in a call stack that’s sep arate from the main() call stack. Q: What is difference between thread and process? Ans) Differences between threads and processes are:- 1. Threads share the address space of the process that created it; processes have their own address. 2. Threads have direct access to the data segment of its process; processes have their own copy of the data segment of the parent process. 3. Threads can directly communicate with other threads of its process; processes must use interprocess communication to communicate with sibling processes. 4. Threads have almost no overhead; processes have considerable overhead. 5. New threads are easily created; new processes require duplication of the parent process. nterview question on thread in Java | Techartifact http://www.techartifact.com/blogs/2011/06/interview-question-on-threa... 1 of 15 13-02-2013 15:55

Transcript of Interview question on thread in Java _ Techartifact.pdf

Page 1: Interview question on thread in Java _ Techartifact.pdf

8/20/2019 Interview question on thread in Java _ Techartifact.pdf

http://slidepdf.com/reader/full/interview-question-on-thread-in-java-techartifactpdf 1/15

About

Disclaimer

564Subscribers 237Fans  70Followers

Home

Oracle ADF

Java

Spring

.NET

News

Join Us

8

Interview question on thread in Java

Vinay 06 Jun 2011 Interview question on thread in Java, Java, thread interview question Views: 30,427

views

Q: What is a Thread?

Ans) In Java, “thread” means two different things: An instance of class java.lang.Thread. A thread of 

execution.

An instance of Thread is just…an object. Like any other object in Java, it has variables and methods, andlives and dies on the heap. But a thread of execution is an individual process (a “lightweight” process)

that has its own call stack. In Java, there is one thread per call stack—or, to think of it in reverse, one call

stack per thread. Even if you don’t create any new threads in your program, threads are back there

running.

The main() method, that starts the whole ball rolling, runs in one thread, called (surprisingly) the main

thread. If you looked at the main call stack (and you can, any time you get a stack trace from something

that happens after main begins, but not within another thread), you’d see that main() is the first method on

the stack— the method at the bottom. But as soon as you create a new thread, a new stack materializes

and methods called from that thread run in a call stack that’s separate from the main() call stack.

Q: What is difference between thread and process?

Ans) Differences between threads and processes are:-

1. Threads share the address space of the process that created it; processes have their own address.

2. Threads have direct access to the data segment of its process; processes have their own copy of the data

segment of the parent process.

3. Threads can directly communicate with other threads of its process; processes must use interprocess

communication to communicate with sibling processes.

4. Threads have almost no overhead; processes have considerable overhead.

5. New threads are easily created; new processes require duplication of the parent process.

rview question on thread in Java | Techartifact http://www.techartifact.com/blogs/2011/06/interview-question-on-threa...

15 13-02-2013 15:55

Page 2: Interview question on thread in Java _ Techartifact.pdf

8/20/2019 Interview question on thread in Java _ Techartifact.pdf

http://slidepdf.com/reader/full/interview-question-on-thread-in-java-techartifactpdf 2/15

6. Threads can exercise considerable control over threads of the same process; processes can only

exercise control over child processes.

7. Changes to the main thread (cancellation, priority change, etc.) may affect the behavior of the other

threads of the process; changes to the parent process do not affect child processes.

Q: What are the advantages or usage of threads?

Ans)

Threads support concurrent operations. For example,

• Multiple requests by a client on a server can be handled as an individual client thread.

• Long computations or high-latency disk and network operations can be handled in the background

without disturbing foreground computations or screen updates.

Threads often result in simpler programs.

• In sequential programming, updating multiple displays normally requires a big while-loop that performs

small parts of each display update. Unfortunately, this loop basically simulates an operating system

scheduler. In Java, each view can be assigned a thread to provide continuous updates.

• Programs that need to respond to user-initiated events can set up service routines to handle the events

without having to insert code in the main routine to look for these events.

Threads provide a high degree of control.

• Imagine launching a complex computation that occasionally takes longer than is satisfactory. A

“watchdog” thread can be activated that will “kill” the computation if it becomes costly, perhaps in favor

of an alternate, approximate solution. Note that sequential programs must muddy the computation with

termination code, whereas, a Java program can use thread control to non-intrusively supervise any

operation.

Threaded applications exploit parallelism.• A computer with multiple CPUs can literally execute multiple threads on different functional units

without having to simulating multi-tasking (“time sharing”).

• On some computers, one CPU handles the display while another handles computations or database

accesses, thus, providing extremely fast user interface response times.

Q: What are the two ways of creating thread?

Ans) There are two ways to create a new thread.

1)Extend the Thread class and override the run() method in your class. Create an instance of the

subclass and invoke the start() method on it, which will create a new thread of execution. e.g.

public class NewThread extends Thread{

public void run(){

 // the code that has to be executed in a separate new thread goes here

}

public static void main(String [] args){

NewThread c = new NewThread();

c.start();

}

}

rview question on thread in Java | Techartifact http://www.techartifact.com/blogs/2011/06/interview-question-on-threa...

15 13-02-2013 15:55

Page 3: Interview question on thread in Java _ Techartifact.pdf

8/20/2019 Interview question on thread in Java _ Techartifact.pdf

http://slidepdf.com/reader/full/interview-question-on-thread-in-java-techartifactpdf 3/15

2)Implements the Runnable interface.The class will have to implement the run() method in the

Runnable interface. Create an instance of this class. Pass the reference of this instance to the Thread

constructor a new thread of execution will be created. e.g. class

public class NewThread implements Runnable{

public void run(){

 // the code that has to be executed in a separate new thread goes here}

public static void main(String [] args){

NewThread c = new NewThread();

Thread t = new Thread(c);

t.start();

}

}

Q: What are the different states of a thread’s lifecycle?

Ans) The different states of threads are as follows:

1) New – When a thread is instantiated it is in New state until the start() method is called on the thread

instance. In this state the thread is not considered to be alive.

2) Runnable – The thread enters into this state after the start method is called in the thread instance. The

thread may enter into the Runnable state from Running state. In this state the thread is considered to be

alive.

3) Running – When the thread scheduler picks up the thread from the Runnable thread’s pool, the thread

starts running and the thread is said to be in Running state.

4) Waiting/Blocked/Sleeping – In these states the thread is said to be alive but not runnable. The threadswitches to this state because of reasons like wait method called or sleep method has been called on the

running thread or thread might be waiting for some i/o resource so blocked. 5) Dead – When the thread

finishes its execution i.e. the run() method execution completes, it is said to be in dead state. A dead state

can not be started again. If a start() method is invoked on a dead thread a runtime exception will occur.

Q: What is use of synchronized keyword?

Ans) synchronized keyword can be applied to static/non-static methods or a block of code. Only one

thread at a time can access synchronized methods and if there are multiple threads trying to access the

same method then other threads have to wait for the execution of method by one thread. Synchronizedkeyword provides a lock on the object and thus prevents race condition. E.g.

public void synchronized method(){}

public void synchronized staticmethod(){}

public void myMethod(){

synchronized (this){ // synchronized keyword on block of code

}

}

Q: What is the difference when the synchronized keyword is applied to a static method or to a non

static method?

rview question on thread in Java | Techartifact http://www.techartifact.com/blogs/2011/06/interview-question-on-threa...

15 13-02-2013 15:55

Page 4: Interview question on thread in Java _ Techartifact.pdf

8/20/2019 Interview question on thread in Java _ Techartifact.pdf

http://slidepdf.com/reader/full/interview-question-on-thread-in-java-techartifactpdf 4/15

Ans) When a synch non static method is called a lock is obtained on the object. When a synch static

method is called a lock is obtained on the class and not on the object. The lock on the object and the lock 

on the class don’t interfere with each other. It means, a thread accessing a synch non static method, then

the other thread can access the synch static method at the same time but can’t access the synch non static

method.

Q: What is a volatile keyword?

Ans) In general each thread has its own copy of variable, such that one thread is not concerned with the

value of same variable in the other thread. But sometime this may not be the case. Consider a scenario in

which the count variable is holding the number of times a method is called for a given class irrespective

of any thread calling, in this case irrespective of thread access the count has to be increased so the count

variable is declared as volatile. The copy of volatile variable is stored in the main memory, so every time

a thread access the variable even for reading purpose the local copy is updated each time from the main

memory. The volatile variable also have performance issues.

Q: What is the difference between yield() and sleep()?

Ans) yield() allows the current the thread to release its lock from the object and scheduler gives the lock 

of the object to the other thread with same priority.

sleep() allows the thread to go to sleep state for x milliseconds. When a thread goes into sleep state it

doesn’t release the lock.

Q: What is the difference between wait() and sleep()?

Ans)

1) wait() is a method of Object class. sleep() is a method of Object class.

2) sleep() allows the thread to go to sleep state for x milliseconds. When a thread goes into sleep state it

doesn’t release the lock. wait() allows thread to release the lock and goes to suspended state. The thread is

only active when a notify() or notifAll() method is called for the same object.

Q: What is difference between notify() and notfiyAll()?

Ans) notify( ) wakes up the first thread that called wait( ) on the same object.

notifyAll( ) wakes up all the threads that called wait( ) on the same object. The

highest priority thread will run first.

Q: What happens if a start method is not invoked and the run method is directly invoked?

Ans) If a thread has been instantiated but not started its is said to be in new state. Unless until a start()

method is invoked on the instance of the thread, it will not said to be alive. If you do not call a start()

method on the newly created thread instance thread is not considered to be alive. If the start() method is

not invoked and the run() method is directly called on the Thread instance, the code inside the run()

method will not run in a separate new thread but it will start running in the existing thread.

Q: What happens when start() is called?

Ans) A new thread of execution with a new call stack starts. The state of thread changes from new torunnable. When the thread gets chance to execute its target run() method starts to run.

Q: If code running is a thread creates a new thread what will be the initial priority of the newly

created thread?

rview question on thread in Java | Techartifact http://www.techartifact.com/blogs/2011/06/interview-question-on-threa...

15 13-02-2013 15:55

Page 5: Interview question on thread in Java _ Techartifact.pdf

8/20/2019 Interview question on thread in Java _ Techartifact.pdf

http://slidepdf.com/reader/full/interview-question-on-thread-in-java-techartifactpdf 5/15

Ans) When a code running in a thread creates a new thread object , the priority of the new thread is set

equal to the priority of the thread which has created it.

Q: When jvm starts up, which thread will be started up first?

Ans) When jvm starts up the thread executing main method is started.

Q: What are the daemon threads?

Ans) Daemon thread are service provider threads run in the background,these not used to run the

application code generally.When all user threads(non-daemon threads) complete their execution the jvm

exit the application whatever may be the state of the daemon threads. Jvm does not wait for the daemon

threads to complete their execution if all user threads have completed their execution.

To create Daemon thread set the daemon value of Thread using setDaemon(boolean value) method. By

default all the threads created by user are user thread. To check whether a thread is a Daemon thread or a

user thread use isDaemon() method.

Example of the Daemon thread is the Garbage Collector run by jvm to reclaim the unused memory by theapplication. The Garbage collector code runs in a Daemon thread which terminates as all the user threads

are done with their execution.

Q: What all constructors are present in the Thread class?

Ans) Thread()

Thread(Runnable target)

Thread(Runnable target, String name)

Thread(String name)

Q: Can the variables or classes be Synchronized?

Ans) No. Only methods can be synchronized.

Q: How many locks does an object have?

Ans) Each object has only one lock.

Q: Can a class have both Synchronized and non-synchronized methods?

Ans) Yes a class can have both synchronized and non-synchronized methods.

Q: If a class has a synchronised method and non-synchronised method, can multiple threads

execute the non-synchronised methods?

Ans) Yes. If a class has a synchronised and non-synchronised methods, multiple threads can access the

non-synchronised methods.

Q: If a thread goes to sleep does it hold the lock?

Ans) Yes when a thread goes to sleep it does not release the lock.

Q: Can a thread hold multiple locks at the same time?

Ans) Yes. A thread can hold multiple locks at the same time. Once a thread acquires a lock and enters into

the synchronized method / block, it may call another synchronized method and acquire a lock on another

rview question on thread in Java | Techartifact http://www.techartifact.com/blogs/2011/06/interview-question-on-threa...

15 13-02-2013 15:55

Page 6: Interview question on thread in Java _ Techartifact.pdf

8/20/2019 Interview question on thread in Java _ Techartifact.pdf

http://slidepdf.com/reader/full/interview-question-on-thread-in-java-techartifactpdf 6/15

object.

Q: Can a thread call multiple synchronized methods on the object of which it hold the lock?

Ans) Yes. Once a thread acquires a lock in some object, it may call any other synchronized method of that

same object using the lock that it already holds.

Q : Can static methods be synchronized?

Ans) Yes. As static methods are class methods and have only one copy of static data for the class, only

one lock for the entire class is required. Every class in java is represented by java.lang.Class instance. The

lock on this instance is used to synchronize the static methods.

Q: Can two threads call two different static synchronized methods of the same class?

Ans) No. The static synchronized methods of the same class always block each other as only one lock per

class exists. So no two static synchronized methods can execute at the same time.

Q : Does a static synchronized method block a non-static synchronized method?

Ans)No As the thread executing the static synchronized method holds a lock on the class and the thread

executing the non-satic synchronized method holds the lock on the object on which the method has been

called, these two locks are different and these threads do not block each other.

Q: Once a thread has been started can it be started again?

Ans) No. Only a thread can be started only once in its lifetime. If you try starting a thread which has been

already started once an IllegalThreadStateException is thrown, which is a runtime exception. A thread in

runnable state or a dead thread can not be restarted.

Q: When does deadlock occur and how to avoid it?

Ans) When a locked object tries to access a locked object which is trying to access the first locked object.

When the threads are waiting for each other to release the lock on a particular object, deadlock occurs .

Q: What is a better way of creating multithreaded application? Extending Thread class or

implementing Runnable?

Ans) If a class is made to extend the thread class to have a multithreaded application then this subclass of 

Thread can not extend any other class and the required application will have to be added to this class as it

can not be inherited from any other class. If a class is made to implement Runnable interface, then the

class can extend other class or implement other interface.

Q: Can the start() method of the Thread class be overridden? If yes should it be overridden?

Ans) Yes the start() method can be overridden. But it should not be overridden as it’s implementation in

thread class has the code to create a new executable thread and is specialised.

Q: What are the methods of the thread class used to schedule the threads?

Ans) The methods are as follows:

public static void sleep(long millis) throws InterruptedException

public static void yield()

rview question on thread in Java | Techartifact http://www.techartifact.com/blogs/2011/06/interview-question-on-threa...

15 13-02-2013 15:55

Page 7: Interview question on thread in Java _ Techartifact.pdf

8/20/2019 Interview question on thread in Java _ Techartifact.pdf

http://slidepdf.com/reader/full/interview-question-on-thread-in-java-techartifactpdf 7/15

public final void join() throws InterruptedException

public final void setPriority(int priority)

public final void wait() throws InterruptedException

public final void notify()

public final void notifyAll()

Q: Which thread related methods are available in Object class?

Ans) The methods are:

public final void wait() throws Interrupted exception

public final void notify()

public final void notifyAll()

Q: Which thread related methods are available in Thread class?

Ans) Methods which are mainly used :

public static void sleep(long millis) throws Interrupted exception

public static void yield() public final void join() throws Interrupted exception

public final void setPriority(int priority)

public void start()

public void interrupt()

public final void join()

public void run()

public void resume()

Q: List the methods which when called the thread does not release the locks held?

Ans) Following are the methods.

notify()

 join()

sleep()

yield()

Q: List the methods which when called on the object the thread releases the locks held on thatobject?

Ans) wait()

rview question on thread in Java | Techartifact http://www.techartifact.com/blogs/2011/06/interview-question-on-threa...

15 13-02-2013 15:55

Page 8: Interview question on thread in Java _ Techartifact.pdf

8/20/2019 Interview question on thread in Java _ Techartifact.pdf

http://slidepdf.com/reader/full/interview-question-on-thread-in-java-techartifactpdf 8/15

Q: Does each thread has its own thread stack?

Ans) Yes each thread has its own call stack. For eg

Thread t1 = new Thread();

Thread t2 = new Thread();

Thread t3 = t1;

In the above example t1 and t3 will have the same stack and t2 will have its own independent stack.

Q: What is thread starvation?

Ans) In a multi-threaded environment thread starvation occurs if a low priority thread is not able to run or

get a lock on the resoruce because of presence of many high priority threads. This is mainly possible by

setting thread priorities inappropriately.

Q: What is threadLocal variable?

Ans) ThreadLocal is a class. If a variable is declared as threadLocal then each thread will have a its owncopy of variable and would not interfere with the other’s thread copy. Typical scenario to use this would

be giving JDBc connection to each thread so that there is no conflict.

ThreadLocal class by JAVA API

public class ThreadLocal {

public Object get();

public void set(Object newValue);

public Object initialValue();

}

Implementation of ThreadLocal

public class ConnectionDispenser {

private static class ThreadLocalConnection extends ThreadLocal {

public Object initialValue() {

return DriverManager.getConnection(ConfigurationSingleton.getDbUrl());

}

}

private static ThreadLocalConnection conn = new ThreadLocalConnection();

public static Connection getConnection() {return (Connection) conn.get();

}

}

Q: What’s the difference between Thread and Runnable types?

A: A Java Thread controls the main path of execution in an application. When you invoke the Java Virtual

Machine with the java command, it creates an implicit thread in which to execute the main method. The

Thread class provides a mechanism for the first thread to start-up other threads to run in parallel with it.

The Runnable interface defines a type of class that can be run by a thread. The only method it requires is

run, which makes the interface very easy to fulfil by extending existing classes. A runnable class may

have custom constructors and any number of other methods for configuration and manipulation.

rview question on thread in Java | Techartifact http://www.techartifact.com/blogs/2011/06/interview-question-on-threa...

15 13-02-2013 15:55

Page 9: Interview question on thread in Java _ Techartifact.pdf

8/20/2019 Interview question on thread in Java _ Techartifact.pdf

http://slidepdf.com/reader/full/interview-question-on-thread-in-java-techartifactpdf 9/15

Q: How does the run() method in Runnable work?

A: It may help to think of the run method like the main method in standard single threaded applications.

The run method is a standard entry point to run or execute a class. The run method is normally only

executed in the context of an independent Thread, but is a normal method in all other respects.

Q: Why not override Thread to make a Runnable?

A: There is little difference in the work required to override the Thread class compared with

implementing the Runnable interface, both require the body of the run() method. However, it is much

simpler to make an existing class hierarchy runnable because any class can be adapted to implement the

run() method. A subclass of Thread cannot extend any other type, so application-specific code would have

to be added to it rather than inherited.

Separating the Thread class from the Runnable implementation also avoids potential synchronization

problems between the thread and the run() method. A separate Runnable generally gives greater flexibility

in the way that runnable code is referenced and executed.

Q: When could I adapt the Thread class though?

A: It is always best to implement a Runnable type rather than extend a Thread. On that basis, the

extension of the Thread class should only be considered in exceptional circumstances when the

application is very simple, composed of few classes, where the interaction of threads is minimal and

requires only minimal control over thread execution.

Q: What’s the difference between a thread’s start() and run() methods?

A: The separate start() and run() methods in the Thread class provide two ways to create threaded

programs. The start() method starts the execution of the new thread and calls the run() method. The start()method returns immediately and the new thread normally continues until the run() method returns.

The Thread class’ run() method does nothing, so sub-classes should override the method with code to

execute in the second thread. If a Thread is instantiated with a Runnable argument, the thread’s run()

method executes the run() method of the Runnable object in the new thread instead.

Depending on the nature of your threaded program, calling the Thread run() method directly can give the

same output as calling via the start() method, but in the latter case the code is actually executed in a new

thread.

Q: Can I implement my own start() method?

A: The Thread start() method is not marked final, but should not be overridden. This method contains the

code that creates a new executable thread and is very specialised. Your threaded application should either

pass a Runnable type to a new Thread, or extend Thread and override the run() method.

Multi-threaded design questions

Q: If all methods are synchronized, is a class thread safe?

A: Even if all the methods of a class are synchronized, it may still be vulnerable to thread safety problems

if it exposes non-final fields or its methods return mutable objects that could be manipulated by multiple

threads. Non-final fields should be declared private and encapsulated with synchronization. Rather than

return references to internal object fields, create an independent copy that has no relation to the original,

known as a deep copy.

rview question on thread in Java | Techartifact http://www.techartifact.com/blogs/2011/06/interview-question-on-threa...

15 13-02-2013 15:55

Page 10: Interview question on thread in Java _ Techartifact.pdf

8/20/2019 Interview question on thread in Java _ Techartifact.pdf

http://slidepdf.com/reader/full/interview-question-on-thread-in-java-techartifactpdf 10/15

Vinay

I am software professional, working on Java/J2EE/ADF technologies i.e

Java,J2ee,Oracle ADF,hibernate,J2ee,PL/sql,Apps for 5+ years.I am

passionate about learning new technologies.I am sharing my knowledge. Give

your views and suggestion on vinay[at]techartifact.com

More Posts - Website

Follow Me:

A deep copy of an object duplicates the content and state of the original object and all its constituent

fields in such a way that none of its properties refer to instances in the original at any level.

These measures will help prevent uncontrolled access to the internal state of objects, but you must also

ensure synchronization techniques are applied in a robust, consistent manner that will not cause deadlock 

or race conditions. It is generally better to use synchronized blocks than synchronized methods for

performance reasons. Limit the extent of synchronized blocks and ensure they all use the same object

monitor.

Q: How do I create a Runnable with inheritance?

A: To introduce a Runnable type to an existing class hierarchy, you need to create a sub-class that declares

that it implements the Runnable interface, and provide a run method to fulfil the interface. This

combination of interface and inheritance means that runnable implementations can be very minor

extensions of existing classes

  22 Votes

Related Posts

creating a basic skeleton to invoke an AM in Java Class in Oracle ADF

01 Feb 2013

Java program to SORT MAP based on KEYS

08 Jan 2013

Why use hashMap when ConcurrentHashMap is there… | Techartifact

12 Dec 2012

8 Responses to Interview question on thread in Java

  3 

rview question on thread in Java | Techartifact http://www.techartifact.com/blogs/2011/06/interview-question-on-threa...

f 15 13-02-2013 15:55

Page 11: Interview question on thread in Java _ Techartifact.pdf

8/20/2019 Interview question on thread in Java _ Techartifact.pdf

http://slidepdf.com/reader/full/interview-question-on-thread-in-java-techartifactpdf 11/15

 Mauro Monti

Jul 06, 2011

A subtle error…

Q: What is the difference between wait() and sleep()?

Ans)

1) wait() is a method of Object class. sleep() is a method of “Thread class”.

BTW, excellent post!.

reply

1.

mithilesh

Aug 19, 2011

Nice collection of java thread interview questions.

reply

2.

 Anonymous

Aug 29, 2011

In my opinion multi-threading is a tricky area, getting concurrency correct is not an easy task and

that’s the reason most of java multithreading interviews being tougher than any other interview. if 

you want to tast the feel here are some good thread interview questions.

reply

3.

 Ritesh

Oct 10, 2011

Article is awsuome. and very helfull.

reply

4.

Suraj

Oct 11, 2011

5.

rview question on thread in Java | Techartifact http://www.techartifact.com/blogs/2011/06/interview-question-on-threa...

f 15 13-02-2013 15:55

Page 12: Interview question on thread in Java _ Techartifact.pdf

8/20/2019 Interview question on thread in Java _ Techartifact.pdf

http://slidepdf.com/reader/full/interview-question-on-thread-in-java-techartifactpdf 12/15

Great Article and tons of information

reply

FromDev

Jan 17, 2012

Interesting post with really useful set of questions and answers. Thanks for sharing

reply

6.

 Hotfredlive

Mar 29, 2012

delit plz .

reply

7.

 Jenny

Dec 21, 2012

Hello there! This blog post couldn’t be written much better! Looking through this article reminds

me of my previous roommate! He constantly kept preaching about this. I am going to forward this

information to him. Pretty sure he will have a very good read. Thanks for sharing!

reply

8.

Leave a Reply

Name (*)

Email (will not be published) (*)

Website

rview question on thread in Java | Techartifact http://www.techartifact.com/blogs/2011/06/interview-question-on-threa...

f 15 13-02-2013 15:55

Page 13: Interview question on thread in Java _ Techartifact.pdf

8/20/2019 Interview question on thread in Java _ Techartifact.pdf

http://slidepdf.com/reader/full/interview-question-on-thread-in-java-techartifactpdf 13/15

Archives

 

Top Post

Thread Pool in java - 122,281 views

Implementation of thread Pool in java - 44,349 views

Oracle ADF interview Question Part – 1 - 40,108 views

Serialization Vs Externalization - 36,453 views

Anonymous Classes in Java - 35,272 views

What is Ext-Js(Extended JavaScript) - 31,741 views

Interview question on thread in Java - 30,427 views

Interface vs Abstract Class - 29,911 viewsMarker interface in java - 29,040 views

Hello World Tutorial in ADF - 23,440 views

Web Pag

You have tried to access a web pagewhich is in violation of your internet

usage policy.

URL:

googleads.g.doubleclick.net/pagead

-

 

rview question on thread in Java | Techartifact http://www.techartifact.com/blogs/2011/06/interview-question-on-threa...

f 15 13-02-2013 15:55

Page 14: Interview question on thread in Java _ Techartifact.pdf

8/20/2019 Interview question on thread in Java _ Techartifact.pdf

http://slidepdf.com/reader/full/interview-question-on-thread-in-java-techartifactpdf 14/15

Tags

ADF ajax ASP.NET ASP.NET 2.0 C#.NET C#.NET 2.0 code example column Design Pattern

Example extjs features get hashmap hibernate J2EE Java Java design Pattern Javascript Jetspeed2 Jquery

JSF JSF 2.0 lifecycle managed bean Memory method Microsoft Mysql Open Portal Open Source

Oracle ADF portal programmatically row Spring sql server table Task flow Techartifact Tips value

view object Web Development XML

Go To Top

Copyright 2009-2012 Techartifact.com

Disclaimer

About

You have tried to

access a web page

which is in

violation of your

internet usage

policy.

URL:

googleads.g.doublecl

 /ads?client=ca-

pub-7884501643823

output=html&

h=600&

slotname=25241005

w=160&

lmt=1360750989&

flash=11.4.402&

url=http%3A%2F

%2Fwww.techartifac

question-on-thread-

in-java.html&

dt=1360750990644

 

rview question on thread in Java | Techartifact http://www.techartifact.com/blogs/2011/06/interview-question-on-threa...

f 15 13-02-2013 15:55

Page 15: Interview question on thread in Java _ Techartifact.pdf

8/20/2019 Interview question on thread in Java _ Techartifact.pdf

http://slidepdf.com/reader/full/interview-question-on-thread-in-java-techartifactpdf 15/15

rview question on thread in Java | Techartifact http://www.techartifact.com/blogs/2011/06/interview-question-on-threa...