一、基础 线程与进程的 在计算机中,我们把一个任务称为一个进程,浏览器就是一个进程,视频播放器是另一个进程,类似的,音乐播放器和Word都是进程。 某些进程内部还需要同时执行多个子任务。例如,我们在使用Word时,Word可以让我们一边打字,一边进行拼写检查,同时还可以在后台进行打印,我们把子任务称 ...
分类:
编程语言 时间:
2020-06-21 23:02:00
阅读次数:
67
在 Java 并发程序中 FutureTask 表示一个可以取消的异步运算。它有启动和取消 运算、查询运算是否完成和取回运算结果等方法。只有当运算完成的时候结果才 能取回,如果运算尚未完成 get 方法将会阻塞。一个 FutureTask 对象可以对调用 了 Callable 和 Runnable ...
分类:
其他好文 时间:
2020-06-21 15:49:03
阅读次数:
40
引言:使用多线程下载图片可以大幅度的提升下载速度,基于封装理念把可以抽离出来的代码全部抽离。 代码思路:就是先把需要下载的文件放入一个集合,再下载到一个临时目录,在压缩,最后删除临时目录中的下载文件。 下载 设置Header import java.util.HashMap; /** * @auth ...
分类:
编程语言 时间:
2020-06-21 13:39:37
阅读次数:
51
1、Java中实现多线程有几种方法 继承Thread类;实现Runnable接口;实现Callable接口通过FutureTask包装器来创建Thread线程;使用ExecutorService、Callable、Future实现有返回结果的多线程(也就是使用了ExecutorService来管理前 ...
分类:
编程语言 时间:
2020-06-20 16:24:33
阅读次数:
116
1.面向对象和面向过程怎么理解 2.面向对象三大特征 3.解释一下多态 4.数组和链表的比较 4.讲一下各种集合 5.HashMap的底层结构 6.构造HashMap要注意什么,优化手段 7.泛型 8.IO流分类 9.创建线程的3种方法,callable接口和runnable接口有什么区别 10.什 ...
分类:
其他好文 时间:
2020-06-19 22:36:57
阅读次数:
61
前言- 本系列随笔 会深入浅出,解析java多线程的各种技术及实现。 随笔主要根据 《java并发编程的艺术》一书作为参考。 本系列以使用为主要目的,本人理解有限,还望读者辩证采纳,没有过多涉及源码的讨论,重在初学者的使用,理解伪码。 预备知识:1. volatile 关键字需要有一定理解 2. A ...
分类:
编程语言 时间:
2020-06-19 18:03:24
阅读次数:
64
Java多线程之Lock(锁) 定义: 在Java多线程中,可以使用synchronized关键字实现线程之间的同步,在JDK5后新增的ReentrantLock类同样可达到此效果,且在使用上比synchronized更加灵活。 特征: 从JDK5开始,Java提供了更强大的线程同步机制——通过显式 ...
分类:
编程语言 时间:
2020-06-18 21:15:29
阅读次数:
61
摘要: 本文旨在介绍java多线程中的一些基础概念,同时也是自己的多线程学习总结。本文将围绕以下几点展开讲解:线程的定义、java内存模型、并发及同步、java的happens-before原则,最后介绍java中的synchronized以及volatile关键字。 线程及其定义 线程的基本定义 ...
分类:
编程语言 时间:
2020-06-18 19:27:36
阅读次数:
60
多线程的并发和并行 并发:指两个或多个事件在同一个时间段内发生。 并行:指两个或多个事件在同一时刻发生(同时发生)。 多线程进程 线程的概念 ...
分类:
编程语言 时间:
2020-06-17 20:16:10
阅读次数:
51
Future代码示例: package com.liuyuan.disruptor.v1; import java.util.concurrent.*; public class UseFuture implements Callable<String> { private String param ...
分类:
其他好文 时间:
2020-06-17 01:44:32
阅读次数:
72