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);
}
}
网友评论