| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> 细说进程与线程 -> 正文阅读 |
|
[Java知识库]细说进程与线程 |
目录 2)解决线程安全问题的方案--- synchronized同步关键字 一、进程1、进程的概念????????进程就是正在运行的程序,它代表了程序所占用的内存区域。 2、进程的特点1)独立性????????进程是系统中独立存在的实体,它可以拥有自己独立的资源,每个进程都拥有自己私有的地址空间,在没有经过进程本身允许的情况下,一个用户进程不可以直接访问其他进程的地址空间。 2)动态性????????进程与程序的区别在于,程序只是一个静态的指令集合,而进程是一个正在系统中活动的指令集合,程序加入了时间的概念以后,称为进程,具有自己的生命周期和各种不同的状态,这些概念都是程序所不具备的。 3)并发性????????多个进程可以在单个处理器CPU上并发执行,多个进程之间不会互相影响。 二、串行、并行、并发1、串行、并行????????串行是大家排队一个一个来,并行是大家一起来。 2、并行、并发?????????HA(High Availability)高可用:指在高并发的情景中,尽可能的保证程序的可用性,减少系统不能提供服务的时间 3、并行与并发的关系????????并行一定是并发,并发不一定是并行。 4、高并发
????????多个进程抢占公共资源(例如售票案例、双十一)。 ? ? ?2.高并发有哪些指标
三、线程
四、线程和进程有何异同1、线程和进程的不同之处1)起源不同????????先有进程,后有线程(目的是为了提高执行效率)。 2)概念不同
3)内存共享方式不同
4)拥有的资源不同
5)数量不同????????一个进程可以有多个线程(至少要有一个)。 6)开销不同
2、线程和进程的相同之处
五、多线程1、Java语言和多线程的渊源和关系
??Signal Dispatcher:将操作系统发来的信号分发给适当的处理程序。 2、多线程的概念
3、为什么需要多线程
4、线程执行的时机????????OS选中它,并给它分配时间片(允许OS执行当前线程的一段时间);没有时间片的线程是挂起(暂停/冻结)的状态,等待再次被分配时间片才能运行。 5、线程的随机性????????多个线程的执行效果是不可控的,因为CPU会调度处理,结果具有随机性;至于那个时间片执行哪一个线程,时间片有多长,我们都控制不了。 6、多线程的使用场景????????为了同时做多件不同的事:比如说打开网页的同时听音乐、后台定时任务。 7、多线程的局限
六、线程的几种状态以及状态之间的切换1、线程的几种状态
2、五态模型
3、五态模型七、创建多线程的三种方式1、三种方式
2、Thread、Runnable两种实现方式的比较
八、多线程的安全问题1、说明
?????????常见情况是由于线程的随机性+访问延迟。
????????在多线程程序中 + 有共享数据 + 多条语句操作共享数据。 2、同步锁1)异步与同步
? 2)解决线程安全问题的方案--- synchronized同步关键字
synchronized (锁对象){?
synchronized (锁对象){ // ? ? 2.同步效果的使用有两个前提:
九、关于多线程的常见面试题
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 0:45:59- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |