单线程和多线程

单线程和多线程
 说到单线程和多线程就不得不说下什么是线程了,线程又称为轻量级进程,是"进程"中某个单一顺序的控制流,它是程序执行流的最小单位。线程也是Java中的相当重要的组成部分之一。那么一个线程都包含什么呢?它包含有线程ID、当前指令指针、寄存器集合和堆栈。另外,线程有三种基本状态分别是就绪、阻塞和运行。每一个程序都至少有一个线程,那就是程序本身。
 简单来说线程就是程序中的一个单一的顺序控制流程。在单个的程序中可以运行一个线程也就是单线程 。一个程序也可以同时运行多个线程完成不同的工作,称之为多线程。
 具体而言,单线程就是在程序执行时,所走的程序路径按照连续顺序排下来,前面的必须处理好,后面的才会执行。例如说我们上班正要打卡时,你的手机响了,这时候你先打卡,打完卡后再接电话。这相当于单线程操作。而多线程呢?多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单个程序创建多个并行执行。还拿上面的例子,我们就可以一手接听电话一手打卡。这就是多线程。他们的结果都是一样的,不一样的只是步骤。
那么单线程和多线程各有什么优缺点呢?

单线程的优点:

1.系统稳定。
2.扩展性极强。
3.软件丰富。
4.不会对服务器造成压力。

单线程的缺点:

1.当具有多个进程时,这时候CPU不会分配资源给其他进程,处理时间会变长变慢。
2.程序在运行时窗口是不能拖动的,必须等到程序运行结束。

多线程的优点:

1.可以提高程序的效率。
2.在比较耗时的操作中,如下载文件、数据库读写等操作可以多个同时进行,并且可以执行其他操作。
3.多线程技术使程序的响应速度更快,因为用户界面可以在进行其他工作的同时一直处于活动状态。

多线程的缺点:

1.线程使用不当容易出bug。
2.多线程需要协调和管理,所以需要CPU时间跟踪线程。
3.更多的线程需要更多的内存空间。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值