java多线程(一):进程与线程

一、进程与线程的基本概念


1、进程:是指一个内存中运行的程序,比如说我们平时用的QQ程序QQ.exe。每一个进程都有自己独立的内存空间,一个进程中可以有多个线程。(在java的一个程序中,至少要有两个线程,一个是主线程,一个是称为垃圾回收的线程的后台线程)

 

2、线程:是指进程中的一个执行任务(控制单元),一个进程可以运行多个线程,多个线程可共享数据。

    理解线程:都有过使用word的经历,如果在word中出现了拼写错误,word会在出错的单词下面划出红线。那么实际上每次启动一个eord对于操作系统来说就相当于启动了一个系统的进程,而在这个进程之上又有许多其他小程序在运行(如拼写检查),那么这些小程序就是一个个的线程。如果word关闭了,则这些拼写检查的线程也就会消失。但是反过来说,既是在一个word中拼写检查的线程消失了,并不代表word这个进程消失,因为我可以没有拼写错误啊。


3、多线程

多进程:操作系统同时运行多个程序

多线程:在同一个进程中同时运行多个线程,比如说在用一个播放器程序看一个电影,我们既可以看到画面也可以听到声音,还可以同时调节播放器视频音频的一些属性以满足自己的需求。

    多线程的好处:在传统的程序语言中,运行的顺序总是必须按照程序的流程来运行,在遇到一些判断循环语句的时候只能按部就班的来进行,一次只能运行一个程序块。而java的多线程就打破了这种传统的束缚,使得程序运行的效率变得更高。例如,有些包含循环的线程可能要使用一段时间来运算,此时便可以让另外一个进程来做其他的处理。总的来说:多线程可以把任务分块执行,分块后可以同时进行而不用等待

 

线程的主要用途总结为一句话: 并发执行以实现更复杂的功能

 

4、进程与线程的区别:

1:进程有独立的进程空间,进程中的数据存放空间(堆空间和栈空间)是独立的

2:线程的堆空间是共享的,栈空间是独立的,线程相对消耗的资源比进程少。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值