码迷,mamicode.com
首页 > 编程语言 > 详细

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

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

标签:通过   开启   inf   基础   单位   进程   com   图片   并发   

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.多线程介绍和创建

标签:通过   开启   inf   基础   单位   进程   com   图片   并发   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!