首页 > 编程语言 > 详细

【JAVA SE基础篇】54.多线程介绍和创建

时间:2020-07-13 18:46:07      阅读:60      评论:0      收藏:0      [点我收藏+]

1.多线程学习内容

1.线程简介

2.线程实现

3.线程状态

4.线程同步

5.生产消费者

6.高级主题

2.线程简介

多线程是指多条并行路径,多路路径同时执行

方法间的调用:普通方法调用是闭合一条路径

多线程使用:开辟了多条路径

程序、进程和线程都是什么?

1.程序:一个软件,一个app(静态概念,是代码指令)

2.进程:在操作系统中运行中的程序(动态概念,一个进程匹配一个程序),例如:用优酷看视频,就是系统中的一个进程

3.线程:一个进程有多个线程,例如:用优酷看视频,同时有图像,有声音,有弹幕,有字幕

线程和进程的区分

1.进程:作为资源分配单位

2.线程:调度和执行单位

核心概念

1.线程就是独立的执行路径

2.在程序运行时,即使没有自己创建线程,后台也会存在多个线程,如:gc线程,主线程

3.main()为主线程,为系统的入口点,用于执行整个程序

4.在一个进程中,如果开辟多个线程,线程运行由调度器安排调度,调度器是与操作系统紧密相关的,先后顺序不能人为改变

5.对于用一份资源操作时,会存在资源抢夺的问题,需要加入并发控制

6.线程会带来额外的开销,如cpu调度时间,并发控制开销

7.每个线程在自己的工作内存交互,加载和储存主内存控制不当会造成数据不一致

4.线程的创建

三种方式创建线程

1.继承Thread类

2.实现Runable接口

3.实现Callable接口(并发相关)

根据面向对象思想,多用实现,少用继承,以便达到多继承功能

例:

技术分享图片

注:

1.执行线程时必须调用start(),加入到调度器中

2.不一定立即执行,系统安排调度分配执行

3.直接调用run(),不是开启多线程,是普通方法调用

例:通过线程,同时下载三个图片

1.下载图片工具类

技术分享图片

2.通过线程调用三张图片

技术分享图片

避免单继承的局限常用接口来实现多线程,还可以方便共享资源

技术分享图片

【JAVA SE基础篇】54.多线程介绍和创建

原文:https://www.cnblogs.com/chengkuan/p/13294588.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!