线程底子

手机游戏开发者 2024-9-26 14:34:03 114 0 来自 中国
常见明确


2.png 1.第一二中比力常见,不外多赘述,严酷意义说只有两种创建方式,第三种着实也是实现的Runnable,有返回值,而且是阻塞的,sleep10s后方法实行完以后就会接着实行
怎样让线程克制下来

固然Thread.stop()能让线程克制,但是这种方法不保举,属于暴力克制,下面看看有什么方法
固然userThread发送停止信号,但是不会克制


4.png 此时依然发起停止信号,但是run函数判断是否拦截,默以为false,当发现变为true,那么就停止克制,同理Runnable的run也是一样的,你大概会问为什么第二次就克制了,第一次为什么不克制,由于第一的判断条件并没有关联到intercepted(),while(true)是死循环,线程不会殒命,一直在实行,当第二次停止作为条件时,为true run方法就会走完,线程会殒命


假如main函数中发出停止信号,那么代码中发生非常此时会重置为false,线程不会停止,只有在catch中再讲停止信号重置为true,才会停止乐成,以是假如想停止,还要记得此处


条件主线程睡了10秒后主线程会竣事,开启子线程前将t线程作为主线程的守护线程,10秒事后主线程殒命,守护线程也会跟着殒命
怎样让线程按序次实行



起首假如不加t1.join(),那么cpu会切换线程实行,输出效果就是一会打印A一会打印B,加了以后t1获得了cpu的实行权,肯定会再t1实行竣事后才会实行t2,输出效果A打印99次以后B再打印99次
口试总结


【口试题】:什么是进程和线程
答复:进程是使用体系处理处罚的最小单元,线程是处理处罚器cpu处理处罚的最小单元。一个进程至少一个线程 或 多个线程,假如一个进程,另有一个线程没有杀掉还存活,那么进程还存活 (线程依附进程)。
【口试题】:并行和并发区别
答复
一、意思差别
1、并发:并发是指两个或多个变乱在同一时间隔断发生。
2、并行:并行是指两个大概多个变乱在同一时刻发生。
二、侧重差别
1、并发:并发侧重于在同一实体上。
2、并行:并行侧重于在差别实体上。
三、处理处罚差别
1、并发:并发在一台处理处罚器上“同时”处理处罚多个使命。
2、并行:并行在多台处理处罚器上同时处理处罚多个使命。
个人明确:并发是一个处理处罚器cpu在单元时间内切换差别的线程举行实行使命,吞吐量
                  并行是多个处理处罚器在同一时间处理处罚多个线程举行实行使命
【口试题】 就是 run 和start的区别 ?
答:run是函数调用 和线程没有任何关系, .start会走底层 会走体系层 终极调理到 run函数,这才是线程。
【口试题】 怎样控制线程的实行序次 ?
答:join来控制cpu让指定线程获取实行权利,可以大概做到序次实行
【口试题】 多线程中的并行和并发是什么?
答:四个车道,四辆车并行的走,就是并行,   四个车道中,五秒钟多少的车流量,多少的吞吐量
【口试题】在Java中能不能指定CPU去实行某个线程?
答:不能,Java是做不到的,唯一可以大概去干预的就是C语言调用内核的API去指定才行,这个你答复的话,口试官会以为你研究点东西
【口试题】在项目开发过程中,你会思量Java线程优先级吗?
答:不会思量优先级,为什么呢? 由于线程的优先级很依赖与体系的平台,以是这个优先级无法对号入座,无法做到你想象中的优先级,属于不稳固,有风险
由于某些开源框架,也不大概依赖线程优先级来,设置自己想要的优先级序次,这个是不可靠的
比方:Java线程优先级又十级,而此时使用体系优先级只有2~3级,那么就对应不上
【口试题】sleep和wait又什么区别?
答:sleep是休眠,等休眠时间一过,才有实行权的资格,注意:只是又有资格了,并不代表立刻就会被实行,什么时候又实行起来,取决于使用体系调理
wait是等待,必要人家来唤醒,唤醒后,才有实行权的资格,注意:只是又有资格了,并不代表立刻就会被实行,什么时候又实行起来,取决于使用体系调理
寄义的差别:sleep无条件可以休眠, wait是某些原因与条件必要等待一下(资源不满足)
【口试题】 在Java中能不能逼迫停止线程的实行?
答:固然提供了 stop 等函数,但是此函数不保举使用,为什么由于这种暴力的方式,很伤害,比方:下载图片5kb,只下载了4kb 等
我们可以使用interrupt来处理处罚线程的克制,但是注意interrupt只是协作式的方式,并不能绝对包管停止,并不是抢占式的
【口试题】 怎样让出当火线程的实行权?
答:yield方法,只在JDK某些实现才能看到,是让出实行权
【口试题】sleep,wait,到底谁人函数才会 扫除停止标记?
答:sleep在抛出非常的时候,捕捉非常之前,就已经扫除
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-11-22 00:48, Processed in 0.144985 second(s), 35 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表