程序、进程、线程的理解 程序(program):为完成特定任务、用某种语言编写的一组指令的集合。即指一 段静态的代码,静态对象。 进程(process):是程序的一次执行过程,或是正在运行的一个程序。 线程(thread):进程可进一步细化为线程,是一个程序内部的一条执行路径。 Java线程创建的方 ...
分类:
编程语言 时间:
2020-07-21 22:26:45
阅读次数:
58
1.线程和进程的概念 1.1什么是进程?进程是线程的集合,是正在运行的程序,一个进程里面至少有一个线程。 1.2什么是线程?正在独立执行的一条路径。 1.3什么是多线程:就是一个进程里面同时有多个线程运行,多线程是为了提高程序效率。 2.创建线程 2.1. 集成Thread类创建线程 创建一个类继承 ...
分类:
编程语言 时间:
2020-07-21 14:22:18
阅读次数:
84
为什么用线程池 1.创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处理效率 例如: 记创建线程消耗时间T1,执行任务消耗时间T2,销毁线程消耗时间T3 如果T1+T3>T2,那么是不是说开启一个线程来执行这个任务太不划算了! 正好,线程池缓存线程,可用已有的闲置线程来执行新 ...
分类:
编程语言 时间:
2020-07-21 09:58:27
阅读次数:
69
Callable 接口类似于 Runnable,从名字就可以看出来了,但是 Runnable 不会返 回结果,并且无法抛出返回结果的异常,而 Callable 功能更强大一些,被线程执 行后,可以返回值,这个返回值可以被 Future 拿到,也就是说,Future 可以拿到 异步执行任务的返回值。 ...
分类:
其他好文 时间:
2020-07-20 10:48:19
阅读次数:
80
1 变量 a 命名格式 var=value var1,var2,var3=value1,value2,value3 变量可以是任意数据类型,value是字符串时必须要用单引号('')或者双引号("")括起来 b 变量名(var)规则 1 变量名只能包含字母、数字和下划线,但不能有和数字开头 2 变量 ...
分类:
编程语言 时间:
2020-07-19 21:14:51
阅读次数:
85
Java多线程 我们先来了解两个概念!!!! 1.什么是并发与并行 2.什么是进程与线程 1.什么是并发与并行 1.1并行:两个事情在同一时刻发生 1.2并发:两个事情在同一时间段内发生 并发与并行的区别: 1.并行是指两个或者多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔发生。 2 ...
分类:
编程语言 时间:
2020-07-16 18:25:53
阅读次数:
71
实现Callable接口(了解即可) 实现Callable接口,需要返回值类型 重写call方法,需要抛出异常 创建目标对象 创建执行服务:ExecutorService ser = Executors.newFixedThreadPool(1); 提交执行:Future result1 = ser ...
分类:
其他好文 时间:
2020-07-15 16:04:16
阅读次数:
124
//线程池创建,线程池提交任务使用Callable int corePoolSize = 3; int maximumPoolSize = Runtime.getRuntime().availableProcessors() * 2; BlockingQueue<Runnable> queue = ...
分类:
编程语言 时间:
2020-07-14 16:20:51
阅读次数:
63
硬件内存架构: 一级缓存和二级缓存:一级缓存在CPU,二级在主板或CPU,一些高端CPU还有三级缓存主内存比L2缓存慢,L2缓存比L1缓存慢,因此,L2缓存命中失败通常比L1缓存命中失败的成本高。 每个 CPU 在某一时刻运行一个线程是没有问题的。这意味着,如果你的 Java 程序是多线程的,在你的 ...
分类:
编程语言 时间:
2020-07-13 11:27:44
阅读次数:
116
java多线程之间的通信,及使用多种方式实现生产者消费者模式 实现需求:两个线程交替打印1,0,打印10轮 java多线程口诀: 高内聚,低耦合 线程操作资源类 判断干活通知 防止虚假唤醒 方式一:使用synchronized和Object的wait和notifyAll方法 wait:使当前线程阻塞 ...
分类:
编程语言 时间:
2020-07-12 22:15:45
阅读次数:
79