• Java在不同线程中运行代码


    start()方法开始为一个线程分配CPU时间,这导致对run()方法的调用。

    代码1

    复制代码
    package Threads;
    
    /**
     * Created by Frank
     */
    public class ThreadsDemo1 extends Thread {
        private String msg;
        private int count;
    
        public ThreadsDemo1(final String msg, int n) {
            this.msg = msg;
            count = n;
            setName(msg + " runner Thread");
        }
    
        public void run() {
            while (count-- > 0) {
                System.out.println(msg);
                try {
                    Thread.sleep(100);
                } catch (InterruptedException e) {
                    return;
                }
            }
            System.out.println(msg + " all done.");
        }
    
        public static void main(String[] args) {
            new ThreadsDemo1("Hello from X", 10).start();
            new ThreadsDemo1("Hello from Y", 15).start();
        }
    }
    复制代码

    代码2:

    复制代码
    package Threads;
    
    /**
     * Created by Frank
     */
    public class ThreadsDemo2 implements Runnable {
        private String msg;
        private Thread t;
        private int count;
    
        public static void main(String[] args) {
            new ThreadsDemo2("Hello from X", 10);
            new ThreadsDemo2("Hello from Y", 15);
        }
    
        public ThreadsDemo2(String m, int n) {
            this.msg = m;
            count = n;
            t = new Thread(this);
            t.setName(msg + "runner Thread");
            t.start();
        }
    
        @Override
        public void run() {
            while (count-- > 0) {
                System.out.println(msg);
                try {
                    Thread.sleep(100);
                } catch (InterruptedException e) {
                    return;
                }
            }
            System.out.println(msg + " all done.");
        }
    }
    复制代码

    代码3:

    复制代码
    package Threads;
    
    /**
     * Created by Frank
     */
    public class ThreadsDemo3 {
        private int count;
    
        public static void main(String[] args) {
            new ThreadsDemo3("Hello from X", 10);
            new ThreadsDemo3("Hello from Y", 15);
        }
        public ThreadsDemo3(final String msg, int n) {
            this.count = n;
            Thread t = new Thread(new Runnable() {
                @Override
                public void run() {
                    while (count-- > 0) {
                        System.out.println(msg);
                        try {
                            Thread.sleep(100);
                        } catch (InterruptedException e) {
                            return;
                        }
                    }
                    System.out.println(msg + " all done.");
                }
            });
            t.setName(msg + " runner Thread");
            t.start();
        }
    }
    复制代码
  • 相关阅读:
    C语言实现strcpy
    Sunday算法(字符串查找、匹配)
    C++实现堆栈
    Chrome DevTools 的 Sources 调试
    Android 时钟(由秒转变为时分秒)
    Android studio Suggestion: use tools:overrideLibrary=”jp.wasabeef.blurry” to force usage
    Android studio的 repositories配置多个url
    Android SurfaceView详解
    Android studio jni
    最齐全的Android studio 快捷键(亲测可用)
  • 原文地址:https://www.cnblogs.com/chinaifae/p/10238556.html
Copyright © 2020-2023  润新知