首页 > 代码库 > 《Java开发手册》学习进程之第16章多线程

《Java开发手册》学习进程之第16章多线程

多线程编程可以使程序具有两条或两条以上的并发执行线索,就像日常工作中由多人同时合作完成一个任务一样。这在很多情况下可以改善程序的响应性能,提高资源的利用效率。

例如,开发一个网上购物时自动邮件通知的程序,在用户单击“提交”按钮确认订单时,一方面要显示信息提示用户订单已确认,一方面应该自动给用户发送一份电子邮件。

  • 如果是单线程模式,则需要等待邮件发送完成之后,再显示提示信息,由于邮件发送的过程相对较慢,用户可能要经过漫长的等待才看到确认信息,界面响应性能不是很好。
  • 而显示订单确认信息与发送通知邮件这两个工作是没有相互约束关系的,完全可以一边显示提示信息一边发送邮件。

然而,不能并发执行的任务是不应该使用多线程的,否则有可能得到错误的结果。例如进行某些计算的程序,后面的计算依赖于前面的结果,这就不能把这些具有前后依赖关系的计算任务并发处理。

程序是从main方法开始执行的,其实从main方法开始执行的这条线索也是一个线程,即主线程。

Java中的线程有两方面的含义:一是一条独立的执行线索,二是java.lang.Thread类或其子类的对象。在Java中开发自己的线程有两种方式:继承Thread类和实现Runnable接口。

(这个概念的内容太多太新了,几乎句句都是值得记下来的)

《Java开发手册》学习进程之第16章多线程