考点介绍:
利用多线程技术可以使系统同时运行多个程序块,缩短出程序响应的时间,提高计算机资源的利用率,达到多任务处理的目的。
相关题目及解析内容可点击文章末尾链接查看!
一、考点试题
1.线程的sleep()方法和yield()方法有什么区别?
解答:① sleep()方法给其他线程运行机会时不考虑线程的优先级,因此会给低优先级的线程以运行的机会;yield()方法只会给相同优先级或更高优先级的线程以运行的机会......
2.关于sleep()和wait(),以下描述错误的一项是()
A.sleep是线程类(Thread)的方法,wait是Object类的方法
B.Sleep不释放对象锁,wait放弃对象锁
C.Sleep暂停线程、但监控状态任然保持,结束后会自动恢复
D.Wait后进入等待锁定池,只针对此对象发出notify方法后获取对象锁进入运行状态
解答:正确答案是 D
分析:针对此对象的notify方法后获取对象锁并进入就绪状态,而不是运行状态......
3.以下锁机机制中,不能保证线程安全的是()
A.Lock
B.Synchronized
C.Volatile
D.ReentrantLock
解答:正确答案是 C
当把变量声明为volatile类型后,编译器与运行时都会注意到这个变量是共享的,因此不会将该变量上的操作与其他内存操作一起重排序......
4.既然 start() 方法会调用 run() 方法,为什么我们调用 start() 方法,而不直接调用 run() 方法?
解答:这是一个基本的 Java 多线程面试题。一般在 Java 中级面试的电话面试或一轮面试中遇到,这道问题的答案是这样的......
二、考点文章
Python多线程的原理与实现
线程是什么?线程是指进程内的一个执行单元,也是进程内的可调度实体......
实现线程安全的四种方式
首先说说什么是线程安全性问题,多个线程共享同一个全局变量或静态变量,多个线程同时读数据不会发生数据安全性问题,但是有一个线程对数据进行写的时候,再有其他的线程来读写共享数据就有可能发生线程安全性问题......
线程同步相关术语总结
对于初次接触线程同步的前端来说,总是对互斥锁、条件变量、信号量等术语傻傻分不清楚,这里根据自己的理解简单做下总结,如有疏漏之处,欢迎大家批评指正......
三、考点视频
进程和线程的关系?
一个程序至少有一个进程,一个进程至少有一个线程,线程的划分尺度小于进程,使得多线程程序的并发性高......
帖子还没人回复快来抢沙发