Java-基础语法-多线程-使用背景

举报
Photon2 发表于 2020/12/14 12:25:56 2020/12/14
【摘要】 Java-基础语法-多线程

使用背景

多线程的世界里,有三个问题,可见性,原子性,有序性。所有多线程的体现也是在围绕这三个问题在解决。

一个核心默认只跑一个线程,一个线程会出现等待阻塞等情况。此时如果使用多个线程,可以在等待过程中继续发挥当前核心的算力,减少时间。

一个进程需要多个线程配合工作,例如一个播放器,需要播放视频和播放音频的两个线程,同时工作。

相比进程,线程间的通信速度快,资源耗费少。但是进程稳定,一个进程奔溃不会影响另一个进程,一个线程奔溃则会影响到整个进程。

如果有一个线程没有退出,JVM进程就不会退出。所以,必须保证所有线程都能及时结束。

成员变量需要注意,所有线程能访问修改,易出错。局部变量每个线程都是单独的。不需要同步操作。

多线程协调运行的原则就是:当条件不满足时,线程进入等待状态;当条件满足时,线程被唤醒,继续执行任务。

Java中高优先级的线程会抢占低优先级线程的资源。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。