Open In App

LinkedTransferQueue transfer() method in Java with Examples

Last Updated : 07 Feb, 2019
Improve
Improve
Like Article
Like
Save
Share
Report

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 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


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads