LinkedTransferQueue transfer() method in Java with Examples
Last Updated : 07 Feb, 2019
The
transfer() method of class
LinkedTransferQueue is an inbuilt function in Java which is generally used to transfer an element to a thread which is waiting to receive it, if there is no thread waiting then it will wait till a thread comes to waiting state as soon as waiting thread arrives element will be transferred into it.
Syntax: public void transfer(E e)
Parameter: This method accepts a mandatory parameter
e which is the element to be transferred to the thread which is in waiting state.
Return value: This method returns nothing, hence the return type is void. .
Exceptions: This method throws the following exceptions:
- NullPointerException: If a program attempts to use an object reference that has the NULL value.
- InterruptedException: If interrupted while a thread is waiting or sleeping .
Below programs illustrate the LinkedTransferQueue.transfer() method in Java:
Program 1: To illustrate LinkedTransferQueue.transfer() method in Java.
Java // Java program to illustrate // LinkedTransferQueue.transfer() method import java.util.*; import java.util.concurrent.*; class GFG { public static void main(String args[]) { LinkedTransferQueue<String> g = new LinkedTransferQueue<String>(); new Thread(new Runnable() { public void run() { try { System.out.println("Transferring" + " an element"); // Transfer a String element // using transfer() method g.transfer("is a computer" + " science portal."); System.out.println("Element " + "transfer is complete"); } catch (InterruptedException e1) { System.out.println(e1); } catch (NullPointerException e2) { System.out.println(e2); } } }).start(); try { // Get the transferred element System.out.println("Geeks for Geeks " + g.take()); } catch (Exception e) { System.out.println(e); } } }
Output: Transferring an element Geeks for Geeks is a computer science portal. Element transfer is complete
Program 2: To illustrate NullPointerException
Java // Java program to illustrate // LinkedTransferQueue.transfer() method import java.util.*; import java.util.concurrent.*; class GFG { public static void main(String args[]) { LinkedTransferQueue<String> g = new LinkedTransferQueue<String>(); new Thread(new Runnable() { public void run() { try { System.out.println("Transferring" + " an element"); // Transfer a null element // using transfer() method g.transfer(null); System.out.println("Element " + "transfer is complete"); } catch (Exception e) { System.out.println(e); System.exit(0); } } }).start(); try { // Get the transferred element System.out.println("Geeks for Geeks " + g.take()); } catch (Exception e) { System.out.println(e); } } }
Output: Transferring an element java.lang.NullPointerException