小小默:进无止境

QQ:1274654983

多线程循环交替输出1到100-【implements Runnable】

Thread的常用方法:

/*
 * 
 * 1.start():启动线程并执行相应的run()方法
 * 2.run():子线程要执行的代码放入run()方法中
 * 3.currentThread():静态的,调取当前的线程
 * 4.getName():获取此线程的名字
 * 5.setName():设置此线程的名字
 * 6.yield():调用此方法的线程释放当前CPU的执行权
 * 7.join():在A线程中调用B线程的join()方法,表示:当执行到此方法,A线程停止执行,直至B线程执行完毕,A线程再接着join()之后的代码执行
 * 8.isAlive():判断当前线程是否还存活
 * 9.sleep(long l):显式的让当前线程睡眠l毫秒
 * 10.线程通信:wait()   notify()  notifyAll()
 * 
 * 设置线程的优先级
 * getPriority() :返回线程优先值 
   setPriority(int newPriority) :改变线程的优先级

 */

示例代码如下:

package com.web.test;

public class TestThread implements Runnable {
    int i = 1;

    @Override
    public void run() {
        // TODO Auto-generated method stub
        while(true){
        /*指代的为 t,因为使用的是implements方式。若使用继承Thread类的方式,慎用this*/
            synchronized (this) {
            /*唤醒另外一个线程,注意是this的方法,而不是Thread*/
            notify();
            try {
            /*使其休眠100毫秒,放大线程差异*/
            //Thread,currentThread().sleep(0,100);使其休眠100纳秒
                Thread.currentThread().sleep(100);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
                if (i<=100) {

                    System.out.println(Thread.currentThread().getName() + ":"+ i);
                    i++;
                    try {
                    /*放弃资源,等待*/
                        wait();
                    } catch (InterruptedException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                }
        }
    }
    }

    public static void main(String[] args) {
        /*只有一个TestThread对象*/
        TestThread t = new TestThread();
        Thread t1 = new Thread(t);
        Thread t2 = new Thread(t);

        t1.setName("线程1");
        t2.setName("线程2");

        t1.start();
        t2.start();

    }
}

输出结果如下:

这里写图片描述

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/J080624/article/details/52698484
文章标签: 线程 thread
个人分类: JavaSE-Thread
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭