异步调用就是不用等待结果的返回就执行后面的逻辑,同步调用则需要等带结果再执行后面的逻辑。通常我们使用异步操作都会去创建一个线程执行一段逻辑,然后把这个线程丢到线程池中去执行,代码如下:ExecutorServiceexecutorService=Executors.newFixedThreadPool(10);executorService.execute(()->{try{//业务逻辑}c
分类:
编程语言 时间:
2020-08-03 23:15:52
阅读次数:
75
Java多线程实现方式主要有四种: 继承Thread类 实现Runnable接口、 实现Callable接口通过FutureTask包装器来创建Thread线程、 使用ExecutorService、Callable、Future实现有返回结果的多线程。 其中前两种方式线程执行完后都没有返回值,后两 ...
分类:
编程语言 时间:
2020-07-30 21:59:08
阅读次数:
72
package com.qf.demo01; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecut ...
分类:
编程语言 时间:
2020-07-30 10:47:54
阅读次数:
57
java 中Semaphere可类比操作系统信号量,硬件资源如IO、内存、磁盘等都是有固定量的,多个程序需要竞争这些资源,没有资源就需要被挂起。 一、类和方法摘要 构造函数: public Semaphore(int permits):创建具有给定的许可数和非公平的公平设置的 Semaphore。 ...
分类:
编程语言 时间:
2020-07-30 01:39:21
阅读次数:
79
一、Netty概述 1.1 原生NIO存在的问题 NIO 的类库和 API 繁杂,使用麻烦:需要熟练掌握 Selector、ServerSocketChannel、SocketChannel、ByteBuffer 等。 需要具备其他的额外技能:要熟悉 Java 多线程编程,因为 NIO 编程涉及到 ...
分类:
Web程序 时间:
2020-07-30 01:30:35
阅读次数:
90
1. 串行并行并发 2. 进程 3. 线程 4. 创建线程的方式 A:创建线程并启动:继承Thread类 step1:创建子类,继承Thread类。 step2:重写run(),线程体。并发执行的内容,写在这个方法中。 step3:启动线程:start() /* class Cat class Pe ...
分类:
编程语言 时间:
2020-07-30 01:28:28
阅读次数:
60
前言 个人珍藏的80道Java多线程/并发经典面试题,因为篇幅太长,现在先给出1-10的答案解析哈,后面一起完善,并且上传github哈~ ? https://github.com/whx123/JavaHome ? 「公众号:捡田螺的小男孩」 1. synchronized的实现原理以及锁优化? ...
分类:
编程语言 时间:
2020-07-29 10:36:49
阅读次数:
92
Callable与Runnable 先说一下java.lang.Runnable吧,它是一个接口,在它里面只声明了一个run()方法: public interface Runnable { public abstract void run(); } 由于run()方法返回值为void类型,所以在执 ...
分类:
编程语言 时间:
2020-07-29 09:55:03
阅读次数:
70
/** * 测试Thread中常用方法 * 1.start();启动线程,调用当前线程的run(); * 2.run();一般要重写,将创建线程要执行的操作声明在此方法中 * 3.currentThread();静态方法,返回当前代码执行的线程 * 4.getName();获取当前线程的名字 * 5 ...
分类:
编程语言 时间:
2020-07-28 00:17:20
阅读次数:
81
1 public class Thread_A extends Thread { 2 Human human; 3 4 public Thread_A(String name, Human human) { 5 super(name); 6 this.human = human; 7 } 8 9 @ ...
分类:
编程语言 时间:
2020-07-28 00:02:43
阅读次数:
81