1.Develop a template for linked-list class along with its methods in Java. 2. Design a thread-safe implementation of Queue class. Write a multi-threaded producer-consumer application that uses this Queue class. 3. Write a multi-threaded Java program to print all numbers below 100,000 that are both prime and fibonacci number (some examples are 2, 3, 5, 13, etc.). Design a thread that generates prime numbers below 100,000 and writes them into a pipe.Design another thread that generates fibonacci numbers and writes them to another pipe. The main thread should read both the pipes to identify numbers common to both.