Open In App

LinkedTransferQueue transfer() method in Java with Examples

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:

Below programs illustrate the LinkedTransferQueue.transfer() method in Java:

Program 1: To illustrate LinkedTransferQueue.transfer() method in 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 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

Article Tags :