首页 > 学院 > 开发设计 > 正文

重学JAVA基础(四):线程的创建与执行

2019-11-14 23:37:50
字体:
来源:转载
供稿:网友
重学java基础(四):线程的创建与执行

1.继承Thread

  

public class TestThread extends Thread{    public void run(){        System.out.PRintln(Thread.currentThread().getName());    }        public static void main(String[] args) {        Thread t = new TestThread();        t.start();    }}

2.实现Runnable

public class TestRunnable implements Runnable{    @Override    public void run() {        System.out.println(Thread.currentThread().getName());            }    public static void main(String[] args) {        Thread t = new Thread(new TestRunnable());        t.start();    }}

3.线程池

public class TestThreadPool {        public static ExecutorService singlePool = Executors.newSingleThreadExecutor();        private static ExecutorService fixedPool = Executors.newFixedThreadPool(2);        private static ExecutorService cachedPool = Executors.newCachedThreadPool();        private static ThreadPoolExecutor tpe = new ThreadPoolExecutor(5, 10, 5000, TimeUnit.SECONDS, new LinkedBlockingQueue<Runnable>(), new DefaultThreadFactory(),new ThreadPoolExecutor.AbortPolicy());    private static class DefaultThreadFactory implements ThreadFactory{        @Override        public Thread newThread(Runnable r) {            Thread t = new Thread(r);            return t;        }    }        public static void main(String[] args) {        singlePool.execute(new TestThreadP());        fixedPool.execute(new TestThreadP());        cachedPool.execute(new TestThreadP());        tpe.execute(new TestThreadP());    }        }class TestThreadP implements Runnable{    @Override    public void run() {        System.out.println(Thread.currentThread().getName());    }    }


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表