Table of Contents
wait()
Example
Output
Home Java javaTutorial In Java, when can we call Thread's wait() and wait(long) methods?

In Java, when can we call Thread's wait() and wait(long) methods?

Sep 03, 2023 pm 11:41 PM
wait() transfer wait(long)

In Java, when can we call Threads wait() and wait(long) methods?

Whenever the wait() method is called on an object, it causes the current thread to wait until another thread calls notify() or notifyAll( ) method of this object, while wait(long timeout) causes the current thread to wait until another thread calls notify() or notifyAll( ) Method of this object, or the specified timeout period has passed.

wait()

In the following program, when wait() is called on an object, the thread enters the waiting state from the running state. It waits for other threads to call notify() or notifyAll() before it can enter the runnable state, which will form a deadlock.

Example

class MyRunnable implements Runnable {
   public void run() {
      synchronized(this) {
         System.out.println("In run() method");
         try {
            this.wait();
            System.out.println("Thread in waiting state, waiting for some other threads on same object to call notify() or notifyAll()");
         } catch (InterruptedException ie) {
            ie.printStackTrace();
         }
      }
   }
}
public class WaitMethodWithoutParameterTest {
   public static void main(String[] args) {
       MyRunnable myRunnable = new MyRunnable();
       Thread thread = new Thread(myRunnable, "Thread-1");
       thread.start();
   }
}
Copy after login

Output

In run() method
Copy after login

##wait(long)

In the following program, When

wait(1000) is called on an object, the thread enters the waiting state from the running state, even if notify() or is not called after the timeout period. notifyAll()The thread will also enter the runnable state from the waiting state.

Example

class MyRunnable implements Runnable {
   public void run() {
      synchronized(this) {
         System.out.println("In run() method");
         try {
<strong>            this.wait(1000); 
</strong>            System.out.println("Thread in waiting state, waiting for some other threads on same object to call notify() or notifyAll()");
         } catch (InterruptedException ie) {
            ie.printStackTrace();
         }
      }
   }
}
public class WaitMethodWithParameterTest {
   public static void main(String[] args) {
      MyRunnable myRunnable = new MyRunnable();
      Thread thread = new Thread(myRunnable, "Thread-1");
      thread.start();
   }
}
Copy after login

Output

In run() method
Thread in waiting state, waiting for some other threads on same object to call notify() or notifyAll()
Copy after login

The above is the detailed content of In Java, when can we call Thread's wait() and wait(long) methods?. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
1 months ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to use Python to call Baidu Map API to implement geographical location query function? How to use Python to call Baidu Map API to implement geographical location query function? Jul 31, 2023 pm 03:01 PM

How to use Python to call Baidu Map API to implement geographical location query function? With the development of the Internet, the acquisition and utilization of geographical location information is becoming more and more important. Baidu Maps is a very common and practical map application that provides a wealth of geographical location query services. This article will introduce how to use Python to call Baidu Map API to implement the geographical location query function, and attach a code example. Apply for a Baidu Map developer account and application First, you need to have a Baidu Map developer account and create an application. Log in

Source code exploration: How are objects called in Python? Source code exploration: How are objects called in Python? May 11, 2023 am 11:46 AM

Wedge We know that objects are created in two main ways, one is through Python/CAPI, and the other is by calling a type object. For instance objects of built-in types, both methods are supported. For example, lists can be created through [] or list(). The former is Python/CAPI and the latter is a calling type object. But for instance objects of custom classes, we can only create them by calling type objects. If an object can be called, then the object is callable, otherwise it is not callable. Determining whether an object is callable depends on whether a method is defined in its corresponding type object. like

PHP camera calling skills: How to implement multi-camera switching PHP camera calling skills: How to implement multi-camera switching Aug 04, 2023 pm 07:07 PM

PHP camera calling skills: How to switch between multiple cameras. Camera applications have become an important part of many web applications, such as video conferencing, real-time monitoring, etc. In PHP, we can use various technologies to call and operate the camera. This article will focus on how to implement multi-camera switching and provide some sample code to help readers better understand. Basics of camera calling In PHP, we can call the camera by calling the JavaScript API. Specifically, we

What is the difference between sleep() and wait() in java What is the difference between sleep() and wait() in java Apr 29, 2023 am 08:37 AM

Difference explanation 1. wait() is a method of Object, and sleep() is a method of Thread. 2. The wait() method must be synchronized and the sleep() method is not required. 3. The thread executes the sleep() method in the synchronization method without releasing the monitor lock, and the wait() method releases the monitor lock. After a short sleep, the sleep() method will actively exit the blocking, while the wait() method needs to be interrupted by other threads without specifying a wait time to exit the blocking. Example importjava.text.SimpleDateFormat;importjava.util.Date;publicc

How to solve external resource access and calls in PHP development How to solve external resource access and calls in PHP development Oct 08, 2023 am 11:01 AM

How to solve the problem of accessing and calling external resources in PHP development requires specific code examples. In PHP development, we often encounter situations where we need to access and call external resources, such as API interfaces, third-party libraries or other server resources. When dealing with these external resources, we need to consider how to access and call safely while ensuring performance and reliability. This article describes several common solutions and provides corresponding code examples. 1. Use the curl library to call external resources. Curl is a very powerful open source library.

How to call Baidu Map API through Python programming to implement map display function? How to call Baidu Map API through Python programming to implement map display function? Aug 02, 2023 pm 08:27 PM

How to call Baidu Map API through Python programming to implement map display function? With the rapid development of the Internet, map applications have become an indispensable part of our lives. As one of the largest map applications in China, Baidu Maps provides us with a wealth of services and API interfaces, which can easily realize the map display function. This article will introduce how to call Baidu Map API through Python programming to realize the map display function, and give corresponding code examples. First, we need to register a

How matlab calls m files-matlab method of calling m files How matlab calls m files-matlab method of calling m files Mar 04, 2024 pm 01:49 PM

Many friends still don’t know how to call m files in matlab, so the editor below explains how to call m files in matlab. If you are in need, please take a look. I believe it will be helpful to everyone. 1. First open the matlab software and click "Open" in the main interface, as shown in the figure below. 2. Then select an m file that needs to be opened and select Open, as shown in the figure below. 3. Then look at the file name and number of variables of the m file in the editor, as shown in the figure below. 4. You can enter the m file name followed by the variable value in brackets on the command line to call it, as shown in the figure below. 5. Finally, the m file can be successfully called, as shown in the figure below. The above is the complete description of how to call m files in matlab brought to you by the editor.

How to call WebService using Java How to call WebService using Java Dec 29, 2023 pm 02:32 PM

The method steps of using Java to call WebService require specific code examples. Web service is a Web-based application program interface that provides various functions through the network. In Java development, we often need to use Web services to interact with other systems. This article will introduce how to use Java to call WebService and provide specific code examples. 1. Understand WebService WebService is a standardized communication protocol using XML format

See all articles