java多线程编程中涉及的基础知识点?

 我来答
云南北大青鸟计算机学校
2022-10-28 · 百度认证:云南嘉荟教育信息咨询官方账号,教育领域创作者
云南北大青鸟计算机学校
%³O솋㻺ѧɁӚ2005ĪցϦ#x0241;17ĪΪԆď؇ѸKʽǧITӢȋţ⎷ď؇䈋Ŷ̈ď֗Ҳ⁋Ǧ#x010F;؇ʌҵѹfӾΪǦ#x010F;ȭȋŷ믻
向TA提问
展开全部

线程设计在软件开发领域中是非常常见的一个设计构成,今天昆明北大青鸟http://www.kmbdqn.cn/就一起来了解一下,java多线程编程中都涉及到了哪些基础知识点。



顺序


用于表示多个操作“依次处理”。比如把十个操作交给一个人来处理时,这个人要一个一个地按顺序来处理


并行


用于标识多个操作“同时处理”。比如十个操作分给两个人处理时,这两个人就会并行来处理。


并发


相对于顺序和并行来说比较抽象,用于表示“将一个操作分割成多个部分并且允许无序处理”。比如将十个操作分成相对独立的两类,这样便能够开始并发处理了。如果一个人来处理,这个人就是顺序处理分开的并发操作,而如果是两个人,这两个人就可以并行处理同一个操作。


总结


多线程程序都是并发处理的。如果CPU只有一个,那么并发处理就是顺序执行的,而如果有多个CPU,那么并发处理就可能会并行运行。


等待队列


所有实例都拥有一个等待队列,它是在实例的wait方法执行后停止操作的线程队列。就好比为每个实例准备的线程休息室


在执行wait方法后,线程便会暂停操作,进入等待队列这个休息室。除非发生下列某一情况,否则线程会一直在等待队列中休眠。


有其他线程的notify方法来唤醒线程


有其他线程的notifyAll方法来唤醒线程


有其他线程的interrupt方法来唤醒线程


wait方法超时


notify方法


该方法会将等待队列中的一个线程去除。同wait方法一样,若要执行notify方法,线程也必须持有要调用的实例的锁。


notifyAll方法


notify方法仅唤醒一个线程,而notifyAll则唤醒所有线程,这是两者之间的区别


同wait方法和notify方法一样,notifyAll方法也只能由持有要调用的实例锁的线程调用


notify和notifyAll选择


notify方法和notifyAll方法非常相似,到底该使用哪个?


实际上,这很难选择,由于notify唤醒的线程较少,所以处理速度要比使用notifyAll时快。但使用notify时,如果处理不好,程序便可能会停止。一般来说,使用notifyAll时的代码要比使用notify时的更为健壮。


推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式