
【SE-01】多线程-01
发布日期:2021-05-07 08:58:10
浏览次数:22
分类:精选文章
本文共 668 字,大约阅读时间需要 2 分钟。
-
-
一个Java应用中至少包含3个线程:main线程、gc垃圾回收线程、异常处理线程
-
Thread类中的常见方法:
-
start()方法的两个作用
- 启用当前线程
- 调用当前线程对象的run()
-
直接调用run方法并不会开启一个新的线程,会被主线程当做一个普通成员方法按照顺序执行
-
不能对同一个线程多次进行start(),否则会报异常
要启动多线程必须调用start() -
子类重写父类的方法时,抛出的异常不能大于父类抛出的异常
扩展:关于重写有以下要求
- 子类与父类的同名方法必须具有相同的方法名和参数列表
- 返回值
- 若父类被重写方法返回值为void,则子类重写方法也返回void
- 若父类被重写方法返回基本类型,则子类重写方法将返回相同类型
- 若父类被重写方法返回引用类型,则子类返回的类型<=父类
- 访问权限
- 子类的访问权限必须大于等于父类
- 子类不可重写父类的私有方法
- 异常
- 子类抛出的异常必须小于等于父类抛出的异常
- 子类无法对父类的静态方法进行重写

- 若创建多个线程存在共享某些数据的情况时,最好使用实现Runnable接口的方法创建线程类(因为创建的多个线程都将Runnable对象作为构造方法的参数传入,因此也是唯一的),否则在继承Thread类的同时必须将共享数据定义为static类型
- 通常建议使用实现Runnable接口的方法进行创建线程类,一方面可以规避Java中单继承的局限性;另一方面,Thread底层也是实现了Runnable接口的类
- 线程被start()之后,run()由JVM调用,什么时候调用,执行的过程控制都由操作系统调度决定
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2025年04月11日 11时52分03秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
递归复习--二叉搜索树
2021-05-08
spring boot@Value和bean执行顺序问题
2021-05-08
从浏览器输入网址到服务器返回经历的过程
2021-05-08
解决Genymotion无法拖拽的问题
2021-05-08
中国石油大学《计算机文化基础》在线考试(客观题)
2021-05-08
机器学习(numpy/matplotlib/scipy)学习笔记
2021-05-08
codeforces The Eternal Immortality 题解
2021-05-08
蓝桥杯 历届试题 幸运数 (堆+DFS)
2021-05-08
微信js-sdk使用简述(分享,扫码功能等)
2021-05-08
selenium 的介绍和爬取 jd数据
2021-05-08
【分享-一键在线抠图】在线免费去除图片背景
2021-05-08
layui表格checkbox选择全选样式及功能
2021-05-08
mxsrvs支持thinkphp3.2伪静态
2021-05-08
mui HTML5 plus 下载文件
2021-05-08
环信SDK 踩坑记webIM篇(一)
2021-05-08
通信基础知识
2021-05-08
DSP开发板准备
2021-05-08
测试基本
2021-05-08