# [Assignment Problem] Multi-threaded Series Printer

### Problem

Write a multi-threaded program to print data from four series of data in alternating order.

There are four series of data are as below:

Series 1:              0,            4,            8,            12,          …

Series2:               1,            5,            9,            13,          …

Series3:               2,            6,            10,          14,          …

Series4:               3,            7,            11,          15,          …

Each series is an inifinte set of data.

### Input and Output

Inputs to program will be:

• Arg 0: No of threads to be spawned by program.

• Arg1: No of entries to be printed for each series

Expected Output:

• Data from series in alternating order. The output shown will be also in ascending order as well with no data repeating.

Sample Inputs and Outputs

 Arg0 Arg1 Expected Output Note 1 4 0,4,8,12 One thread will be spawned which prints data from Series1 only 3 4 0,1,2,4,5,6,8,9,10,12,13,14,15 Thread threads will be spawned which will print data from Series1,2 and 3 in alternating order 4 2 0,1,2,3,4,5,6,7 Four threads will be spawned and prints data from all series alternatively 2 2 0,1,4,5 Two threads will be spawned which prints data alternatively

Note:

• Each thread can print only data from one series. For eg:, thread1 will print data of series1,thread2 will print data of series2 and so on.

• Thread ‘n’ should print data belonging to series n only.

• A thread which prints data from one series should not print data belonging to any other series.

• After printing one output, the same thread should print only after other threads print output from their respective series