Maison > Java > javaDidacticiel > Que signifie Java asynchrone ?

Que signifie Java asynchrone ?

(*-*)浩
Libérer: 2020-09-17 11:25:30
original
10316 Les gens l'ont consulté

Cet article présentera Java asynchrone, j'espère qu'il sera utile à tout le monde.

Que signifie Java asynchrone ?

Asynchrone : Asynchrone est l'opposé de synchrone Lorsqu'un appel de procédure asynchrone est émis, l'appelant Vous pouvez continuer à effectuer des opérations ultérieures avant d'obtenir des résultats.

C'est-à-dire que peu importe le temps nécessaire à la méthode asynchrone pour exécuter le code, cela n'a aucun impact sur le thread principal et le thread principal peut continuer à s'exécuter vers le bas.

Par exemple : une conduite d'eau avec des fourchettes, la fourchette est l'entrée d'appel asynchrone.

Le port A est le fil principal et le port B est le fil auxiliaire. Lorsque quelque chose bloque le port B, cela n'affecte pas le flux d'eau à travers le port A.

Que signifie Java asynchrone ?

Définir une interface de rappel

Une fois le code asynchrone exécuté, les résultats nécessitent souvent un certain traitement,
définissez donc une interface, utilisée pour gérer les résultats asynchrones.

/**
 * 定义回调接口
 * @author YZQ
 *
 */
public interface MyCallback {

	/**
	* 定义处理回调方法
	* @param object
	*/
	void callback(Object object);
}
Copier après la connexion

Définir la classe d'implémentation asynchrone

 /**
 * 异步任务类
 * @author YZQ
 *
 */
public class AsynTask {

	/**
	* 处理任务
	* @param myCallback 处理完任务后的回调
	*/
	public void task(final MyCallback myCallback){
		Thread thread=new Thread(new Runnable() {
			
			@Override
			public void run() {
				try {
				    //线程睡眠3秒,模拟该线程执行时间过长,也就是上面说的【B口有东西塞住】
					Thread.sleep(3000);
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
				//完成0到99的累加
				int sum=0;
				for(int i=0;i<p><strong>Test : </strong><br></p><pre class="brush:php;toolbar:false">/**
 * 测试类
 * @author YZQ
 *
 */
public class Test {

	public static void main(String[] args) {
		//调用异步任务
		new AsynTask().task(new MyCallback() {
		    //实现回调方法
			@Override
			public void callback(Object object) {
				System.out.println("异步回调处理:值 "+object);
			}
		});
		
		System.out.println("主线程等待异步输出");
		try {
			Thread.sleep(5000);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
	}
}
Copier après la connexion

Que signifie Java asynchrone ?

On peut voir :
Le thread principal génère d'abord [Thread principal en attente de sortie asynchrone],
Ensuite, le thread auxiliaire génère [Traitement de rappel asynchrone : valeur 4950].

Recommandations d'apprentissage associées : Tutoriel de base Java

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal