为了更好的理解 Java 内层模型,我们需要简单地将 CPU 缓存模型回忆一下。 CPU Cache 缓存 在计算机中,虽然 CPU 的计算速度很快,但是计算机中绝大多数的任务不能只靠 CPU 的计算就能完成。还需要包括与内层的数据交互,读写、存储元算结果等。但是由于计算机的存储设备和 CPU 的运 ...
分类:
编程语言 时间:
2019-08-22 01:16:42
阅读次数:
149
调用start方法开启线程 实现Runnable接口的形式 之前是这么写的 这里是new 一个Runnable然后里面重写run方法 这里当然也可以用一个Runnable来接收 new thread传递实现类r,然后调用start类开启线程 简化接口的方式 直接在Thread的构造函数内new 一个 ...
分类:
编程语言 时间:
2019-07-28 17:43:12
阅读次数:
87
内置锁 内置锁 Java提供一种内置的锁机制提供原子性:同步代码块(synchronized),synchronized锁包含两部分,锁的对象引用和锁保护的代码块。 方法同步代码块锁的是方法调用所在的对象,静态方法同步代码块锁的是Class对象。同一对象的方法同步代码块和静态方法同步代码块是两把锁, ...
分类:
编程语言 时间:
2019-07-06 20:59:44
阅读次数:
161
一、概述 1.1、Java 的多线程同步机制 在现代的多处理器系统中,提高程序的并行执行能力是有效利用 CPU 资源的关键。为了有效协调多线程间的并发访问,必须采用适当的同步机制来协调竞争。当前常用的多线程同步机制可以分为下面三种类型: volatile 变量:轻量级多线程同步机制,不会引起上下文切 ...
分类:
编程语言 时间:
2019-07-02 09:18:07
阅读次数:
120
多线程类似于同时执行多个不同程序,多线程运行有如下优点: 1、使用线程可以把占据长时间的程序中的任务放到后台去处理。 2、用户界面可以更加吸引人,比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度。 3、程序的运行速度可能加快。 4、一些等待的任务实现上如用户输入、文件读 ...
分类:
编程语言 时间:
2019-06-16 11:41:38
阅读次数:
130
1.启动一个线程 创建多线程有三个方式 1.继承线程类 2.实现runnable接口 3.匿名类 本质是重写run方法!!!!!!!!!! 2.常见线程方法 sleep 当前线程暂停 join 加入到当前线程中 setPriority 线程优先级 yield 临时暂停 setDaemon 守护线程 ...
分类:
编程语言 时间:
2019-05-10 12:54:32
阅读次数:
141
线程与进程区别 每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行。也可以把它理解为代码运行的上下文。所以线程基本上是轻量级的进程,它负责在单个程序里执行多任务。通常由操作系统负责多个线程的调度和执行。 使用线程可以把占据 ...
分类:
编程语言 时间:
2019-04-29 21:12:00
阅读次数:
176
00 JDK常见数据结构 https://www.cnblogs.com/lizhuxin/p/10745199.html 01 java中IO、NIO https://www.cnblogs.com/lizhuxin/p/10745212.html 02 java多线程基础 https://www ...
分类:
编程语言 时间:
2019-04-21 15:55:56
阅读次数:
164
前言 多线程、单线程、进程、任务、线程池...等等一些术语到底是什么意思呢?到底什么是多线程?它到底怎么用?我们一起来学习一下多线程的处理 如何理解 进程:进程是给定程序当前正在执行的实例(操作系统的一个基本功能就是管理进程) 线程:线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小 ...
分类:
编程语言 时间:
2019-04-09 22:09:51
阅读次数:
215
1.关于多线程 1.1 线程与进程的区别 进程:系统中每一个正在运行的程序都是一个进程,每一个进程执行都有一个执行顺序,该顺序是一个执行路径,或者叫一个控制单元 线程:是一组指令的集合,控制着进程的执行,一个进程中至少有一个线程 1.2 为什么用多线程 使用多线程可以将执行时间长的程序中的任务放到后 ...
分类:
编程语言 时间:
2019-04-08 11:52:53
阅读次数:
138