第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

【學(xué)習(xí)打卡】第5天+并發(fā)基礎(chǔ)篇

標(biāo)簽:
Java

课程名称:笑傲Java面试 剖析大厂高频面试真题 秒变offer收割机

课程章节:第4章 并发基础篇

主讲老师:求老仙

课程内容:

第4章 并发基础篇

课程收获:

问题1)什么是线程,什么是进程?并发,并行?

1,线程和进程

进程是操作系统分配的基本单位

线程是操作系统操作的基本单位,线程是轻量级进程

2,进程和线程关系

线程是运行在进程中,进程是线程的容器

设计进程和线程的目的就是解决资源分配的问题

  1. 进程的作用

进程是处理内存和文件(Linux系统处理的都是文件),对接用户权限,操作系统的命名空间。

消息共享,所有的io设备,网络io都是文件

  1. 为什么需要线程

因为cpu资源不能被充分的利用,作为操作系统的操作最小单位

  1. 主线程

主线程是随着进程的创建而创建,创建了进程,需要的cpu资源,肯定是需要创建主线程

7,创建一下线程需要什么

8,线程对内存权限,线程是共享进程的内存的,Java语言做了限制,所以不能随意访问jvm线程的内存

3,并发和并行

并发,交替执行,同一个时刻只有一个线程执行

并行,同时执行,多核同时处理

  1. 并发和线程的关系

线程是一种并发的模型,多核会存在并行

问题2)内核级线程和用户级线程?

内核:进程和硬件的沟通结构

问题1.1)线程的调用是操作系统完成的,线程的状态是jvm控制的

jvm不调度线程,不控制线程的调度,但是jvm控制线程的状态,线程的调度是通过操作系统来完成的

线程仅仅会获得cpu资源,其他资源都是进程的

问题3)为什么Java的线程是内核级线程?

用户进程创建的时候,内核空间会为进程创建一个主线程,如果进程中又创建了两个线程,如果想实现进程内的线程并发执行,就需要内核空间知道进程中的线程,也就是需要内核空间进行调度获取cpu,否则内核空间只知道该线程有一个主线程,无法进行进程内的线程并发执行。

Jdk1.1之后,Java的线程是内核级线程的映射,是内核控制的,不是用户空间控制的,这是为了实现并发或者并行。

红色是主线程,内核在创建用户进程的时候,会创建内核级的主线程。

绿色是用户线程,是用户自己创建的(green Thread)

操作系统分配cpu资源的时候,只能分配给内核级的线程,内核级的线程对应的是某进程中的线程,若用户空间的进程,创建的用户线程,不受内核控制,是分配不到cpu资源,只能通过进程的主线程分配cpu资源,所以就不可能有进程中的线程并发或并行的存在。

进程在创建线程的时候,是调用的操作系统的api,内核空间是可以调度进程创建的用户空间线程。

用户线程和内核级线程的映射: n个内核级线程(n个核)映射m个用户线程,Java中是一对一个的关系,就是在用户空间创建一个线程,对应的在内核空间也会有一个内核级的线程。(因为线程的创建和执行,只要提供入口地址就可以执行)。

内核级和用户级的线程只是映射,不是真正的用户创解一个线程,内核也创建一个线程,有可能是内核级线程是个线程池

问题3)为什么进程的切换,消耗比较大?

线程是进程分配的资源,内存和cpu都是进程的。

进程是有资源的,有内存和cpu,如果进程的切换,就要把内存和调度重新设置,所以成本高

问题4)线程上下文切换的是什么?以及什么时候发生上下文切换?

  1. 因为线程不保存资源,虽然ThreadLocal看似是线程的资源,实际是通过hashMap,Thread作为key,value作为存在资源,存储在hashMap中,并没有存储到线程中。

线程切换,context switch上下文切换,实际切换的是cpu上下文,因为线程仅有cpu资源,

Cpu的上下文,只有cpu的寄存器的值,所以本质上,线程的上下文切换,就是讲现在cpu中寄存器的值,存储起来,然后选择新的线程

2,什么时候发生线程上下文切换,sleep,wait,请求io都会上下文切换、

3,为什么是操作系统os,保存寄存器的值呢,不是保存到线程中

因为线程的上下文切换,有的是主动的有的是被动的,比如当前线程抛出异常,所以是os来进行保存寄存器的值。

Cas和原子操作

點(diǎn)擊查看更多內(nèi)容
1人點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消