礼让线程

礼让线程 yield让出cpu

package com.loaderman.threadmethod;

public class Demo_Yield {

/**

* yield让出cpu礼让线程

*/

  public static void main(String[] args) {

    new MyThread().start();

    new MyThread().start();

  }

}

class MyThread extends Thread {

  public void run() {

    for(int i = 1; i <= 1000; i++) {

      if(i % 10 == 0) {

          Thread.yield(); //让出CPU

      }
      
    System.out.println(getName() + "..." + i);

    }
  
  }

}
时间: 2024-08-10 00:00:13

礼让线程的相关文章

java线程day-02

1.什么是线程 * 线程是程序执行的一条路径, 一个进程中可以包含多条线程 * 多线程并发执行可以提高程序的效率, 可以同时完成多项工作 2.多线程的应用场景 * 红蜘蛛同时共享屏幕给多个电脑 * 迅雷开启多条线程一起下载 * QQ同时和多个人一起视频 * 服务器同时处理多个客户端请求 3.多线程并行和并发的区别 * 并行就是两个任务同时运行,就是甲任务进行的同时,乙任务也在进行.(需要多核CPU)* 并发是指两个任务都请求运行,而处理器只能按受一个任务,就把这两个任务安排轮流进行,由于时间间隔

Java : java基础(4) 线程

java开启多线程的方式,第一种是新建一个Thread的子类,然后重写它的run()方法就可以,调用类的对象的start()方法,jvm就会新开一个线程执行run()方法. 第二种是类实现Runable接口,然后重写run()方法,把这个类的对象当做参数传递给线程的构造函数.如 new Thread(xxx),xxx就是实现了Runable的类,这种方法会把xxx赋值给一个成员变量target,Thread的run方法会判断这个成员变量如果不为空,那么就会执行target.run()方法. 还有

Java入门系列-21-多线程

什么是线程 在操作系统中,一个应用程序的执行实例就是进程,进程有独立的内存空间和系统资源,在任务管理器中可以看到进程. 线程是CPU调度和分派的基本单位,也是进程中执行运算的最小单位,可完成一个独立的顺序控制流程,当然一个进程中可以有多个线程. 多线程:一个进程中同时运行了多个线程,每个线程用来完成不同的工作.多个线程交替占用CPU资源,并非真正的并行执行. 使用多线程能充分利用CPU的资源,简化编程模型,带来良好的用户体验. 一个进程启动后拥有一个主线程,主线程用于产生其他子线程,而且主线程必

javaSE复习之&mdash;&mdash;线程

线程其实就是程序执行的一条路径,一个进程中可以包含多条线程,多线程并发执行可以提高程序效率,可以同使完成多项任务 多线程的应用场景 迅雷多线程一起下载 服务器同时处理多个客户请求 多线程原理(单核CPU) 在电脑上运行多个程序时,其实cpu一次只能做一个事,做一段时间后然后换另一个另一个做一段时间,只是cpu的速度太快了,看起来就是同时做很多事,也就是说多线程其实只是表面上的多线程,底层cpu还是一次只能做一个事,但是这有个前提,那就是那个cpu是单核cpu,如果事多核cpu,那么就可以真正的达

javase基础

目录 目录... 1 第一天... 5 1:计算机概述(了解) 5 2:键盘功能键的认识和快捷键(掌握) 5 3:常见的DOS命令(掌握) 6 4:Java语言概述(了解) 6 5:JDK,JRE,JVM的作用及关系(掌握) 7 6:JDK的下载,安装,卸载(掌握) 7 7:第一个程序:HelloWorld案例(掌握) 7 8:常见的问题(掌握) 8 9:path环境变量(掌握) 8 10:classpath环境变量(理解) 8 第二天... 10 1:关键字(掌握) 10 2:标识符(掌握)

java学习第22天(关于进程的创建及使用)

多线程其实在操作系统已经深入了解过,现在就不做学习概念,其实理解线程很简单,首先进程就是一种正在内核态运行的软件,而线程就是一种轻量化的进程,和进程不同的是线程一般存在于一个进程中,共享地址空间.具体的可以参考操作系统的课程. 那么java程序的运行原理及JVM的启动是多线程的吗? A:Java命令去启动JVM,JVM会启动一个进程,该进程会启动一个主线程. B:JVM的启动是多线程的,因为它最低有两个线程启动了,主线程和垃圾回收线程. 多线程的实现由三种方法 第一种 继承Thread类并重写r

JavaSE复习_10 多线程复习

△wait()和sleep()的区别:  1.wait():没有等待时间,而sleep()需要有等待时间作为参数.  2.在同步中对于CPU的执行权和锁的处理不同:   wait()会释放执行权和锁.醒来后需要重新竞争锁.   sleep():释放执行权和,不会释放锁 void show(){ Synchronized(this){ wait() //可以同时有三个线程在此等待.只有拿到锁后,才能继续向下运行 } } void start(){ notifyAll(); //唤醒后,三个线程都具

多线程-4

四.sleep 休眠.yield 礼让.join 加入.Daemon 后台(守护).stop(过时)或interrupt 终止 1.线程的控制(常见方法) A:休眠线程,使线程休眠millis时间后再次进入就绪状态,等待运行.sleep(long millis) throws InterruptedException B:加入线程,有个很好的例子是父与子,一定是现有父亲才有儿子,父线程运行完以后才会运行子线程.父线程在start方法之后调用 join() 方法.public final void

Java学习:多线程(2)

线程中的一些方法 线程加入:public final void join() 等待该线程终止,其他线程才能抢着执行. 练习代码如下: 1 public static void main(String[] args) { 2 //创建三个线程 3 MyThread mt1 = new MyThread(); 4 MyThread mt2 = new MyThread(); 5 MyThread mt3 = new MyThread(); 6 7 //给线程起名字 8 mt1.setName("刘备