java多线程编程(一)-进程,线程和多线程并发

一:进程和线程

  进程:是操作系统分配资源的独立单位,程序执行时发生的活动,如QQ.exe,eclipse.exe等。


  线程:是操作系统进行调度的基本单位,是进程中独立运行的子任务,如运行QQ后,可进行文件上传下载,文字聊天,语音通话等。

 

 二:多线程并发

  QQ运行时,上传文件的时候需要文字聊天,假设这两个线程都需要访问QQ进程用户信息资源,操作系统(单核)则会先暂停文件上传对用户信息资源的使用,把用户信息资源分配给实时性和优先级较高的文字聊天,但访问结束后马上把资源切换给文件上传,这个调度过程时间是非常短的几乎感觉不到,因而感觉上传文件和文字聊天是同时进行的,这个过程就是多线程的并发,即操作系统合理的调度资源给一个进程中的多个线程的过程。

  值得注意的是,并非所有的进程都需要设计为多线程,CPU密集型任务比如解压文件需要长时间占用CPU资源,如果设计为多线程,资源调度的切换的花销反而会导致性能下降。因此应根据具体任务合理设计,但一般都应考虑进行多线程并发设计。

 

 

 

http://www.cnblogs.com/xiaojia-new/articles/8552040.html

posted @ 2018-03-12 21:20  萧嘉  阅读(237)  评论(0编辑  收藏  举报