美文网首页
线程控制方法

线程控制方法

作者: 非文666 | 来源:发表于2018-03-11 14:28 被阅读0次

1.sleep()方法

使当前线程进入阻塞状态,可设置阻塞的时间。

public static void main(String[] args) {
        for(int i=0;i<10;i++){
            System.out.println(Thread.currentThread().getName()+"   "+i);
            if(i==5){
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
    }

2.yield()方法

使当前线程让步方法,使优先级高的线程先执行

3.join()方法

首先有两个线程,一个是使用join()方法代码的线程,一个是线程实例被调用join()方法,被调用join()方法的实例线程会先执行,拥有这段代码的线程会被阻塞,知道实例线程执行完毕。

public class ThreadJoin {
    
    public static void main(String[] args) {
        
        for(int i=0;i<10;i++){
            System.out.println(Thread.currentThread().getName()+"   "+i);
            if(i==5){
                myThread myThread=new myThread();
                myThread.start();
                try {
                    myThread.join();
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
        }
    }
    static class myThread extends Thread{
        @Override
        public void run() {
            for(int j=0;j<10;j++){
                System.out.println(Thread.currentThread().getName()+"   "+j);
            }
        }
    }

}

如上代码,主线程将被阻塞,直到myThread线程全部执行完毕。

4.设置线程优先级

每一个线程实例都可以设置线程优先级,从1~10。

ThreadPriority thread1=new ThreadPriority();
        thread1.setPriority(MIN_PRIORITY);
        thread1.start();
        ThreadPriority thread2=new ThreadPriority();
        thread2.setPriority(MAX_PRIORITY);
        thread2.start();

相关文章

  • 线程控制的基本方法

    线程控制的基本方法

  • 多线程方法

    一. 基础并行多线程结构 二. 标准多线程方法,控制并发线程数,带线程锁

  • 协程(gevent)

    概念 协程是程序(软件)控制的可以实现多线程效果的方法.线程是由CPU控制的高并发方法. 协程,gevent,gr...

  • GCD进阶

    GCD 控制线程数量 GCD 不像NSOperation 那样有直接提供线程数量控制方法,但是通过GCD的sema...

  • 【JAVA基础-多线程】- 多线程(补充)

    线程控制的常见方法 sleep 休眠线程public static native void sleep(long ...

  • 线程控制方法

    1.sleep()方法 使当前线程进入阻塞状态,可设置阻塞的时间。 2.yield()方法 使当前线程让步方法,使...

  • java笔记--多线程总结

    停止线程的方法: 1 stop方法。 2 run方法结束。 怎么控制线程的任务结束呢?任务中都会有循环结构,只要控...

  • C# 多线程

    简易线程控制方法: 新建线程,无返回值,不带参 Thread thread = new Thread(new Th...

  • java控制线程(一)

    java控制线程(一) java的线程支持提供了一些便捷的工具方法: join线程:Thread提供了让一个线程等...

  • JAVA控制线程并发数量

    JAVA控制线程并发数量方法主要有,限制一个线程使用(synchronized),限制指定数量的线程并发使用(Se...

网友评论

      本文标题:线程控制方法

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