NPTEL PROGRAMMING ASSIGNMENTS
Week 6 : Programming Assignment 1
Complete the code segment to print the following using the concept of extending the Thread class in Java:
-----------------OUTPUT-------------------
Thread is Running.
-------------------------------------------------
public static void main(String args[]){
// Creating object of thread class
Question61 thread=new Question61();
// Start the thread
thread.start();
}
}
Week 6 : Programming Assignment 2
In the following program, a thread class Question62 is created using the Runnable interface Complete the main() to create a thread object of the class Question62 and run the thread. It should print the output as given below.
-----------------OUTPUT-------------------
Welcome to Java Week 6 New Question.
Main Thread has ended.
-------------------------------------------------
@Override
public void run() {
System.out.print(Thread.currentThread().getName()+" has ended.");
}
Week 6 : Programming Assignment 3
A part of the Java program is given, which can be completed in many ways, for example using the concept of thread, etc. Follow the given code and complete the program so that your program prints the message "NPTEL Java week-6 new Assignment Q3". Your program should utilize the given interface/ class.
public abstract void run();
}
// Class B is defined which implements A and an empty implementation of run()
class B implements A {
public void run() {}
}
public class Question63 {
// An object of MyThread class is created
MyThread t = new MyThread();
// run() of class MyThread is called
t.run();
}
}
Week 6 : Programming Assignment 4
Execution of two or more threads occurs in a random order. The keyword 'synchronized' in Java is used to control the execution of thread in a strict sequence. In the following, the program is expected to print the output as given below. Do the necessary use of 'synchronized' keyword, so that, the program prints the Final sum as given below:
-----------------OUTPUT-------------------
Final sum:6000
-------------------------------------------------
class Pair {
private int a, b;
public Pair() {
a = 0;
b = 0;
}
public final int COUNT = 1000;
private Pair pair;
public PairWorker(Pair pair) {
this.pair = pair;
}
public void run() {
for (int i=0; i<COUNT; i++) {
pair.inc();
}
}
public static void main(String args[]) {
Pair pair = new Pair();
PairWorker w1 = new PairWorker(pair);
PairWorker w2 = new PairWorker(pair);
PairWorker w3 = new PairWorker(pair);
w1.start();
w2.start();
w3.start();
try {
w1.join();
w2.join();
w3.join();
}
catch (InterruptedException ignored) {}
System.out.println("Final sum:" + pair.sum());
}
}
Week 6 : Programming Assignment 5
Add necessary codes to print the following:
-----------------OUTPUT-------------------
Name of thread 't1':Thread-0
Name of thread 't2':Thread-1
New name of thread 't1':Week 6 Assignment Q5
New name of thread 't2':Week 6 Assignment Q5 New
-------------------------------------------------
public class Question65 extends Thread{
public void run(){
}
public static void main(String args[]){
Question65 t1=new Question65();
System.out.println("Name of thread 't1':"+ t1.getName());
Question65 t2=new Question65();
System.out.println("Name of thread 't2':"+ t2.getName());
System.out.println("New name of thread 't2':"+ t2.getName());
}
}