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:
Java
Java
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 .
// 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:
Program 2: To illustrate NullPointerException
Transferring an element Geeks for Geeks is a computer science portal. Element transfer is complete
// 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