码农知识堂 - 1000bd
Python
PHP
JS/TS
JAVA
C/C++
C#
GO
Kotlin
Swift
Java 线程
Java 线程
概述
Java内置支持多线程编程
多线程程序包含两条或两条以上并发运行部分/指令流
每个部分/指令流称为线程
每个线程都有独立的执行路径
许多多线程其实是模拟出来的,真正的多线程需要多核,即多CPU
即使没有创建多线程,后台也存在多个线程,如main线程、gc线程等
main()线程即主线程,为系统入口,用于执行整个程序
多任务处理
多线程是其一种特殊的形式
有两种截然不同的类型:基于进程和基于线程
基于进程
进程:本质是一个执行程序
特点:允许计算机同时运行两个或更多的程序
调度程序所分派的最小单位:程序
用于程序处理“大图片”
基于线程
最小执行单位:线程
线程又称轻量级进程
是进程的组成部分
与进程一样拥有独立的执行控制,由操作系统负责调度
可同时执行两个或多个任务的功能
用于程序处理细节问题
线程会带来额外开销:如CPU调度时间、并发控制开销
每个线程在自己的工作内存交互,内存控制不当会造成数据不一致
多进程与多线程的区分
多线程比多进程程序需要的管理费用少
进程是重量级任务,需分配独立地址空间;线程是轻量级,之间共享地址空间且共享同个进程
进程间转换需要花费;线程通信简单且便宜,转换成本低
多进程不受Java控制,多线程则受Java控制
多进程即能同一时刻运行多个程序,如一边编辑word,一边播放音乐;多线程指同个进程中可执行多个任务,如音乐软件可在播放音乐的同时,进行浏览其他歌曲信息、互动等其他操作
多线程优点
帮助写出CPU利用率最大的程序,使空闲时间保持最低,对交互式网络互连环境至关重要
多线程与单线程最大区别:各线程控制流彼此独立,但使得代码乱序执行,带来线程调度和同步的问题
线程在Java中的实现
Java提供类java.lang.Thread进行多线程编程
该类提供大量方法方便控制各个线程
run()
方法
Thread类最重要方法
为Thread类下的start()方法所调用
使用
方法一:继承Thread类,覆盖run()方法
优点:简单,符合习惯
缺点:若一个类已从另一类继承,则其无法继承Thread类
不建议使用,避免OOP单继承局限性
核心方法
方法
说明
CurrentThread()
返回当前运行的Thread对象
start()
启动线程
run()
由线程调度调用
stop()
使调用它的线程立即停止执行
sleep(int n)
使线程睡眠n毫秒,之后可再次运行,其他线程不受影响;若休眠过程被其他线程中断
相关阅读:
【JavaEE初阶】进程篇
nacos配置中心docker部署、配置及 goLang 集成使用
MediaCodec原理及使用
网络安全——HTTP头部注入
如何通过CSS绘制三角形和小箭头
LayUI多文件上传,支持历史上传预览
Python 判断回文数
PMP备考敏捷考题的五点应对策略
机器学习笔记 - 隐马尔可夫模型的简述
P1182 数列分段 Section II——二分答案
原文地址:https://blog.csdn.net/weixin_57807561/article/details/127481109
最新文章
攻防演习之三天拿下官网站群
数据安全治理学习——前期安全规划和安全管理体系建设
企业安全 | 企业内一次钓鱼演练准备过程
内网渗透测试 | Kerberos协议及其部分攻击手法
0day的产生 | 不懂代码的"代码审计"
安装scrcpy-client模块av模块异常,环境问题解决方案
leetcode hot100【LeetCode 279. 完全平方数】java实现
OpenWrt下安装Mosquitto
AnatoMask论文汇总
【AI日记】24.11.01 LangChain、openai api和github copilot
热门文章
十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
奉劝各位学弟学妹们,该打造你的技术影响力了!
五年了,我在 CSDN 的两个一百万。
Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
面试官都震惊,你这网络基础可以啊!
你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
心情不好的时候,用 Python 画棵樱花树送给自己吧
通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
13 万字 C 语言从入门到精通保姆级教程2021 年版
10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系
2656653265@qq.com
京ICP备2022015340号-1
正则表达式工具
cron表达式工具
密码生成工具
京公网安备 11010502049817号