保山
保山查发分类 > 保山教育培训 > 保山IT培训 > 保山软件开发

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

2019-05-10 124) 喜欢:(4) 举报/删帖 喜欢

软件开发 

保山

mydm

业务描述

  线程设计在软件开发领域中是非常常见的一个设计构成,今天昆明北大青鸟http://www.kmbdqn.com/就一起来了解一下,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时的更为健壮。

温馨提示:该信息是用户发布,其真实,合法,有效性由发布者负责。在咨询,交易或者签订合同时,任何要求预付定金,保证金,意向金或要求网上转账等行为都可能存在交易风险,谨防上当受骗。
<

G店推荐

保山软件开发推荐