Java(线程的概念)(线程和进程的比较)(多线程的优点)

一般地,每个程序都会有一个入口,一个出口以及一个顺序执行的序列,执行中的程序称为进程,在进程执行过程中的任何指定时刻,都只有一个单独的执行点。在多线程的情况下,在单个进程内部可以在同一时刻进行多种运算,有多个执行点。
一个单独的线程和进程相似,也有一个入口,一个出口以及一个顺序执行的序列,从概念上说,一个线程是一个进程内部的一个顺序控制流,必须在进程中运行。在一个进程中可以实现多个线程,这些线程同时运行,完成不同的功能。从逻辑的观点来看,多线程意味着一个程序的多行语句同时执行,但是多线程并不等于多次启动一个程序,操作系统也不会把每个进程当作独立的进程来对待。

线程,进程比较如下。
1.两者的粒度不同,是两个不同层次上的概念,进程是又操作系统来管理的,而线程则在一个程序(进程)内。
2.不同进程的代码,内部数据和状态都是完全独立的,而一个进程内的多线程是共享进程的内存空间和系统资源的,有可能互相影响。
3.线程本身通常只有寄存器数据,以及一个程序执行时使用的堆栈,所以线程的切换比进程切换的负担要小。

使用多线程具有如下优点。
1.多线程编程简单,效率高(能直接共享数据和资源,多进程不能)
2.适合于开发服务程序(如Web服务,聊天服务等)
3.适合与开发有多种交互接口的程序(如聊天程序的客户端,网络下载工具)
4.适合与有人机交互又有计算量的程序(如字处理程序Word,Excel)。
5.降低编写交互频繁,涉及面多的程序的难度(如监听网络端口)
6.程序的吞吐量会得到改善(同时监听多种设备,如网络端口,串口,并口以及其他外部设备)。
7.有多个处理器的系统,可以并发运行不同的线程(否则,任何时刻只有一个线程在运行).

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值