多线程复习1基础篇

本文介绍了线程与进程的区别,以及并行与并发的概念。讲解了在多线程环境下,如何通过线程的join方法确保执行顺序,并探讨了start和run方法的不同。此外,文章还讨论了notify、notifyAll、wait和sleep的区别,以及如何优雅地停止一个线程。重点指出,合理使用线程池而非频繁创建线程,以优化资源利用。
摘要由CSDN通过智能技术生成

线程VS进程

人话:电脑打开QQ软件就是打开了一个进程,其中的聊天,视频,充值服务等都可以看作是一个一个线程。QQ软件一个进程,微信软件一个进程,这两内存空间互不干扰;QQ进程下你既可以聊天,又可以打视频,可以相互切换,这是线程之间的切换(上下文切换)。

并行VS并发

人话:这么理解,两个人并行,并排行走,至少需要:两个人(线程),可以行走的路(两个CPU);两件事并发,比如边看电子榨菜边吃饭,这两件事就是并发的,同一时间段内发生的。

所以,人话:多核CPU下,并行相当于五条流水线同时干;并发相当于五条流水线轮流干,轮到谁(时间片给谁,任务调度器调度)了谁就干。

操作系统四大特性:并发,虚拟,异步,共享。

创建线程的方式

刚学:三种,分别是继承Thread类,实现Runnable接口,实现Callable接口配合FutureTask任务管理,再传入Thread。

学完复习:我是小丑,继承Thread类学起来快,写一个MyThread继承Thread,重写run方法,完美;实现Runable接口,差不多同理;而第三种是为了解决前面两种没有返回值,比如我之前做的抽奖池,需要多线程后的结果,就只能第三种,因为你不知道多线程什么时候结束。但是!!!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值