多线程基础知识

本文详细介绍了Java中的进程与线程概念,包括它们的特点及适用场景,并探讨了多线程的优势与不足,帮助读者理解何时应该使用多线程。

       在学习编程的过程中,我觉得不止要获得课本的知识,更多的是通过学习技术知识提高解决问题的能力,这样我们才能走在最前方,更多Java学习,请搜索疯狂Java;

  一.进程和线程

  进程就是一个在内存中独立运行的程序,有自己的地址空间。如正在运行的写字板程序就是一个进程。

  “多任务”:指操作系统能同时运行多个进程(程序)。如WINDOWS系统可以同时运行写字板程序、画图程序、WORD、Eclipse等。

  线程:是进程内部单一的一个顺序控制流。

  线程和进程

  a. 每个进程都有独立的代码和数据空间(进程上下文),进程切换的开销大。

  b. 线程:轻量的进程,同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换的开销小。

  c. 多线程:在同一个进程中有多个顺序流同时执行。

  二.多线程的优点

  a.并发执行,提高效率(并不一定在每一台机器上都能实现,与计算机的实现相关)。

  b.当前没有处理的任务时,可以将处理器时间让给其它任务

  c.可以随时终止线程任务

  d.只有一个处理器,实现同步动作的模拟

  e.多处理器情况下提高设备利用率

  三.适宜使用多线程的场合

  要用到多线程的情况主要是需要处理大量的IO操作时或处理的情况需要花费大量时间等等,比如读写文件,视频图像的采集、显示、处理、保存等。

  慢速设备与快速设备并存协调时,采用多线程是非常有效的。

  慢速设备有:IO、网络、硬盘

  快速设备有:内存、CPU、寄存器

  四.多线程的缺点

  a.等待共享资源、独占性资源时处理速度变慢

  b.容易造成死锁,资源竞争,无限等待

  c.当线程数量增多时,对线程管理需要额外的CPU开销

  五.不适宜使用多线程的场合

  a.启动、终止和销毁线程对象都需要占用开销,若线程用于简短的后台任务,则不适合

  b.容易造成死锁的情况

  六.合理使用多线程

  a.多线程技术是一把双刃剑

  b.线程的选取要考虑设备的情况

  多线程并存->云计算

  疯狂Java培训fkjava的课程采用针对性培养,全面提升学员就业能力,重点加强训练职业素质。老师辛勤的讲解,让学员充分感受Java的魅力,充分激发每个学员对于编程的热爱,让学员在半年的时间内掌握8-10万的代码量,成为真正的技术高手,疯狂Java采用企业全真模拟开发训练,迅速积累项目经验。让学员迅速获得其他人需要花费两年才能获得的工作技能,无忧就业!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值