Java-基础语法-多线程-使用背景
【摘要】 Java-基础语法-多线程
使用背景
多线程的世界里,有三个问题,可见性,原子性,有序性。所有多线程的体现也是在围绕这三个问题在解决。
一个核心默认只跑一个线程,一个线程会出现等待阻塞等情况。此时如果使用多个线程,可以在等待过程中继续发挥当前核心的算力,减少时间。
一个进程需要多个线程配合工作,例如一个播放器,需要播放视频和播放音频的两个线程,同时工作。
相比进程,线程间的通信速度快,资源耗费少。但是进程稳定,一个进程奔溃不会影响另一个进程,一个线程奔溃则会影响到整个进程。
如果有一个线程没有退出,JVM进程就不会退出。所以,必须保证所有线程都能及时结束。
成员变量需要注意,所有线程能访问修改,易出错。局部变量每个线程都是单独的。不需要同步操作。
多线程协调运行的原则就是:当条件不满足时,线程进入等待状态;当条件满足时,线程被唤醒,继续执行任务。
Java中高优先级的线程会抢占低优先级线程的资源。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)