| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> java 知识点 多线程 Thread -> 正文阅读 |
|
[Java知识库]java 知识点 多线程 Thread |
程序 : 一组命令的集合,为了完成指定的功能,程序是静态概念,一般保存在硬盘当中 进程 : 正在运行的程序,是一个动态概念,需要保存在内存当中,操作系统会分配对应的PID,当我们直接关闭某个进程的时候,该进行会在运行内存中被销毁 线程 : 一个程序中,不同的执行分支,如果同一个时间节点允许多个线程同时执行的时候,我们称为支持多线程 在Java中,main方法开始执行,就是一个线程,称为主线程 并行 : 多个CPU,同时执行多个任务 并发 : 一个CPU,同时执行多个任务 多线程并行 必须CPU要大于等于2 才行 单核CPU是没有多线程的 优点: 提高应用程序的响应。对图形化界面更有意义,可增强用户体验。 提高计算机系统CPU的利用率 改善程序结构。将既长又复杂的进程分为多个线程,独立运行,利于理解和修改 应用场景: 程序需要同时执行两个或多个任务。 程序需要实现一些需要等待的任务时,如用户输入、文件读写操作、网络操作、搜索等。 需要一些后台运行的程序时。 线程创建: 第一种 ?创建一个类 继承Thread类 并覆写 run方法
第二种? 创建一个类 实现Runnable接口 并覆写run方法
?继承和实现的区别 继承Thread:线程代码存放Thread子类run方法中。 实现Runnable:线程代码存在接口的子类的run方法。 实现的好处 避免了单继承的局限性? 多个线程可以共享同一个接口实现类的对象,非常适合多个相同线 程来处理同一份资源。 优先级和常用方法:? getName:获取线程的名字 getPriority():获取优先级等级
stop:终止某个线程 但是该方法已经过时 不推荐使用 有可能导致死锁
Join 线程合并 让当前线程等待指定线程执行完 在继续执行
yield 静态方法 暂停当前正在执行的对象 并执行其他等待中的进程 线程同步 当多个线程有可能同时操作同一个数据的时候 为了保证数据一致性 需要进行同步执行 ?synchronized(对象){} 成员语句块锁 lock 是显示锁,需要手动开启和关闭 ?synchronized是隐式锁,自动开启,执行完自动关闭 ?定时器 计划任务.
? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 9:43:24- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |