线程(4)--yield方法
来源:互联网 发布:安卓游戏开发知乎 编辑:程序博客网 时间:2024/04/28 07:08
sleep方法:线程休眠
作用:阻塞线程指定的时间,时间到了线程自动恢复运行
总结:谁执行,谁阻塞
yield方法:线程让步
作用:让出cup的使用权,和其他线程一起等待调度程序的调度
总结:谁执行,谁让步
小案例如下说明yield方法的让步:
先一个播放器,实现声音、字幕和图像的同时播放,使用yield方法实现声音的让步
声音线程类:
package com.thread.entity;public class AudioThread extends Thread{ //重写run方法,在run方法里面实现功能 @Override public void run() { //实现声音的播放功能 for (int i = 0; i < 100; i++) { System.out.println("播放声音----"+i); //此句代码将有AudioThread类型的线程对象执行,执行此句代码的线程对象会让出cpu的使用权 //总结:谁执行,谁让步 Thread.yield(); } }}
字幕线程类:
package com.thread.entity;public class SubtitleThread extends Thread{ //重写run方法,在run方法里面实现功能 @Override public void run() { //实现字幕的播放功能 for (int i = 0; i < 100; i++) { System.out.println("播放字幕--"+i); } }}
图像线程类:
package com.thread.entity;public class VideoThread extends Thread{ //重写run方法,在run方法里面实现功能 @Override public void run() { //实现图像的播放功能 for (int i = 0; i < 100; i++) { System.out.println("播放图像------"+i); } }}
视频播放类:
package TestJoin;import com.thread.entity.AudioThread;import com.thread.entity.SubtitleThread;import com.thread.entity.VideoThread;public class Player{ //播放影片的功能 public void play(){ //播放声音、图像和字幕 //创建三个线程 VideoThread vt = new VideoThread(); vt.start(); AudioThread at = new AudioThread(); at.start(); SubtitleThread st = new SubtitleThread(); st.start(); }}
测试类:
package TestJoin;public class TestPlayer { public static void main(String[] args){ Player player = new Player(); player.play(); }}
阅读全文
0 0
- 线程(4)--yield方法
- 线程的Yield方法
- 线程 Yield方法
- 线程中的yield()方法
- 线程理解之yield方法
- 线程学习--yield()方法
- java基础:线程方法之yield方法
- 线程中sleep()方法和yield()方法
- 线程的yield方法和jion方法
- 线程:sleep()、wait()、yield()和join()方法
- Java 线程的sleep和yield方法
- 线程sleep()、wait()、yield()、join()方法 解析
- 线程中的start、join、sleep、yield方法
- 线程:sleep()、wait()、yield()和join()方法
- 线程的sleep,join,yield方法
- java线程wait,notify,yield,join方法
- 线程的礼让(Thread.yield())方法
- 线程join、yield、priority、daemon方法
- fabric源码解析14——peer的gossip服务之初始化
- LeetCode-Linked List Cycle
- 找出一个数组中只出现一次的两个数
- 堆的创建
- 【GDOI2017模拟9.21】妮厨的愤怒
- 线程(4)--yield方法
- Leetcode #12. Integer to Roman & #13. Roman to Integer
- C#基础-048 Const和ReadOnly
- OpenGL ES之glUniform函数
- c# .Net 微信扫码支付模式二 开发时遇到的“签名错误”问题
- node.js——麻将算法(六)简易版麻将出牌AI1.0
- linux 命令--mkdir命令
- Android7.0 添加新字体
- 安卓Spinner的简单使用