简单说说多线程(一)

本文介绍了多线程的概念和Java中的多线程技术。通过解释现代计算机如何通过多任务处理实现并行运行,讨论了进程与线程的区别,以及在Java中创建线程的方式。文章还探讨了线程的生命周期,包括新建、就绪、运行、阻塞和死亡五个阶段。
摘要由CSDN通过智能技术生成

到现在为止,我们所书写的程序在任意时刻只能运行一件任务。编程问题中的大部分都可以通过这种顺序编程方式来解决。然而,在某些情况下,如果能够并行的运行程序中的多个部分,那么就可以使程序运行速度得到极大的提升。Java语言内置了多线程技术。在这我们将讨论如何使用Java中提供的多线程技术,实现在一个程序中并发运行多个任务的功能。

1. 多任务处理

现代计算机都是可以同时执行多项任务的。比如,我可以同时运行微信、QQ、钉钉等一系列软件。对我们来说,这些软件是同步在运行的,但真相并非如此。当我们在同时运行多个软件时,实际上,对一个CPU而言,它在某一时间点上只能运行一个任务,可以同时运行多个任务是CPU对多个任务同时交替执行而实现的。我们之所以感觉不到中断现象,是因为相对于人而言,CPU的速度实在是太快了。

2. 进程和线程

计算机中可以并发运行多个程序通常是由操作系统实现的。一个正在运行的程序通常称为一个进程(Process),每个进程都有自己独立运行的一块内存空间,每个进程的内部数据和状态都是完全独立的。

在进程内部有时会需要同时执行多个子任务。例如,我们在使用Word时,可以一边打字,一边拼写检查,同时还可以在后台进行打印,我们把子任务称为线程。

那进程和线程的关系是怎样的呢?

一个进程可以包含一个或多个线程,但至少会有一个线程。

线程存在于进程之中,二者之间主要区别在于,每个进程都需要操作系统为其分配独立的内存空间,而同一进程中的所有线程都在同一工作空间中工作,这些线程可以共享同一块内存和系统资源。

注意:操作系统调度的最小任务单位其实不是进程而是线程。

2.1 实现多任务的几种方式

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值