美文网首页
day12-10-多线程(优先级setPriority()&yi

day12-10-多线程(优先级setPriority()&yi

作者: 姗婷 | 来源:发表于2020-06-07 21:35 被阅读0次

https://www.matools.com/api/java8

class Demo implements Runnable
{
    public void run()
    {
        for(int x=0;x<70;x++)
        {
            //toSting包含线程名称(Thread-0),优先级(1到10默认是5),线程组(main)
            System.out.println(Thread.currentThread().toString()+"run..."+x);//toString()覆盖了Object的toString()方法
            Thread.yield();//0线程读到yield后强制就释放执行权,1就进来,所以就是交替打印,减缓线程执行的频率,平均执行的效果
        }   
    }   
}
class JoinDemo 
{
    public static void main(String[] args) throws Exception
    {
        Demo d = new Demo();
        Thread t1 = new Thread(d);  
        Thread t2 = new Thread(d);
        t1.start();
        //setPriority();设置线程的优先级();抢到cpu执行权频率高一些,线程MAX_PRIORITY优先级10,MIX_PRORITY优先级1,MORM_PRIORITY优先级5
        //t1.setPriority(Thread.MAX_PRIORITY);//数据是固定的,常量所以全大写
        t2.start();
        for(int x=0;x<80;x++)
        {
            //System.out.println(Thread.currentThread().getName()+"main..."+x);
        }
    }
}

开发中如何写线程:
1.可以封装三个类,创建线程,调用start方法
2.创建继承extends Thread类的子类对象,创建匿名内部类
3.实现implements Runnable,创建匿名内部类

class JoinDemo 
{
    public static void main(String[] args) throws Exception
    {
        //线程1:创建extends Thread类的子类对象,覆盖run方法,匿名内部类(对象带着对象体)
        new Thread()
        {
            public void run()
            {
                for(int x=0;x<80;x++)
                {
                    System.out.println(Thread.currentThread().getName()+"main..."+x);
            
                }           
            }
        }.start();
        
        
        //线程2:实现implements Runnable方法,匿名内部类的方法创建线程对象
        Runnable r = new Runnable;
        {
            public void run()
            {
                for(int x=0;x<80;x++)
                {
                    System.out.println(Thread.currentThread().getName()+"main..."+x);
                }
            }
        };
        //匿名内部类对象调用start()方法
        new Thread(r).start();
        
        
        //线程3
        for(int x=0;x<80;x++)
        {
            System.out.println(Thread.currentThread().getName()+"main..."+x);
        }       
    }

相关文章

  • day12-10-多线程(优先级setPriority()&yi

    https://www.matools.com/api/java8 开发中如何写线程:1.可以封装三个类,创建线程...

  • 多线程的优先级_setPriority()

    运行结果: 从运行结果可以看出,线程的执行顺序不一定按照设定的优先级执行,这是因为线程不一定能获得cpu资源。

  • Java并发编程:线程的优先级

    java中设置线程的优先级使用 setPriority()方法,JDK源码如下: 线程的优先级有1~10 10个等...

  • java多线程基础

    多线程 线程,进程,多线程 一、java线程 1. 线程状态 2. 线程方法 方法说明setPriority(in...

  • Android通信系列-线程间通信

    01 线程概述 线程的优先级 线程创建时,子线程继承父线程的优先级。线程创建后,可通过调用setPriority(...

  • BroadcastReceiver

    注册方式 1.动态注册 另外,注册广播可以通过IntentFilter的 setPriority设置广播的优先级。...

  • 多线程《API》相关_简单了解2

    gcd相关API的简单使用 多线程优先级简单探索

  • 多线程

    简单讲解了关于多线程的一些应用:线程进程的概念区别,定义多线程,多线程之间的通信,线程的死锁,以及线程的优先级。此...

  • 《Java 多线程精选》思维导图

    本文主要分析了 Java 多线程的精选内容 1.进程和线程 2.Java 多线程编程入门 3.线程组和线程优先级 ...

  • Java Web技术经验总结(十二)

    今天解决多线程问题的时候,用到了优先级队列模型,涉及到“按照优先级”从高到低遍历,因此查到这个问题:如何利用Jav...

网友评论

      本文标题:day12-10-多线程(优先级setPriority()&yi

      本文链接:https://www.haomeiwen.com/subject/jlrzzhtx.html