Which method registers a thread in a thread scheduler?
A -
run();
B -
construct();
C -
start();
D -
register();
2-
Assume the following method is properly synchronized and called from a thread A on an object B:
wait(2000);
After calling this method, when will the thread A become a candidate to get another turn at the CPU?
A -
After thread A is notified, or after two seconds.
B -
After the lock on B is released, or after two seconds.
C -
Two seconds after thread A is notified.
D -
Two seconds after lock B is released.
3-
Which of the following will not directly cause a thread to stop?
A -
notify()
B -
wait()
C -
InputStream access
D -
sleep()
4-
Which class or interface defines the wait(), notify(),and notifyAll() methods?
A -
Class
B -
Runnable
C -
Thread
D -
Object
5-
public class MyRunnable implements Runnable
{
public void run()
{
// some code here
}
}
which of these will create and start this thread?
A -
new Runnable(MyRunnable).start();
B -
new Thread(MyRunnable).run();
C -
new Thread(new MyRunnable()).start();
D -
new MyRunnable().start();
6-
What will be the output of the program?
class MyThread extends Thread
{
MyThread()
{
System.out.print(" MyThread");
}
public void run()
{
System.out.print(" bar");
}
public void run(String s)
{
System.out.println(" baz");
}
}
public class TestThreads
{
public static void main (String [] args)
{
Thread t = new MyThread()
{
public void run()
{
System.out.println(" foo");
}
};
t.start();
}
}
A -
foo
B -
MyThread foo
C -
MyThread bar
D -
foo bar
7-
What will be the output of the program?
class MyThread extends Thread
{
public static void main(String [] args)
{
MyThread t = new MyThread();
t.start();
System.out.print("one. ");
t.start();
System.out.print("two. ");
}
public void run()
{
System.out.print("Thread ");
}
}
A -
Compilation fails
B -
An exception occurs at runtime.
C -
It prints "Thread one. Thread two."
D -
The output cannot be determined.
8-
What will be the output of the program?
class MyThread extends Thread
{
MyThread() {}
MyThread(Runnable r) {super(r); }
public void run()
{
System.out.print("Inside Thread ");
}
}
class MyRunnable implements Runnable
{
public void run()
{
System.out.print(" Inside Runnable");
}
}
class Test
{
public static void main(String[] args)
{
new MyThread().start();
new MyThread(new MyRunnable()).start();
}
}
A -
Prints "Inside Thread Inside Thread"
B -
Prints "Inside Thread Inside Runnable"
C -
Does not compile
D -
Throws exception at runtime
9-
What will be the output of the program?
class s1 implements Runnable
{
int x = 0, y = 0;
int addX() {x++; return x;}
int addY() {y++; return y;}
public void run() {
for(int i = 0; i < 10; i++)
System.out.println(addX() + " " + addY());
}
public static void main(String args[])
{
s1 run1 = new s1();
s1 run2 = new s1();
Thread t1 = new Thread(run1);
Thread t2 = new Thread(run2);
t1.start();
t2.start();
}
}
A -
Compile time Error: There is no start() method
B -
Will print in this order: 1 1 2 2 3 3 4 4 5 5...
C -
Will print but not exactly in an order (e.g: 1 1 2 2 1 1 3 3...)
D -
Will print in this order: 1 2 3 4 5 6... 1 2 3 4 5 6...
10-
What will be the output of the program?
public class Q126 implements Runnable
{
private int x;
private int y;
public static void main(String [] args)
{
Q126 that = new Q126();
(new Thread(that)).start( ); /* Line 8 */
(new Thread(that)).start( ); /* Line 9 */
}
public synchronized void run( ) /* Line 11 */
{
for (;;) /* Line 13 */
{
x++;
y++;
System.out.println("x = " + x + "y = " + y);
}
}
}
A -
An error at line 11 causes compilation to fail
B -
Errors at lines 8 and 9 cause compilation to fail.
C -
The program prints pairs of values for x and y that might not always be the same on the same line (for example, "x=2, y=1")
D -
The program prints pairs of values for x and y that are always the same on the same line (for example, "x=1, y=1". In addition, each value appears once (for example, "x=1, y=1" followed by "x=2, y=2")