• 【Java】创建线程对象两种方式


    1.继承Thread类,重载run方法;
    Thread t = new Thread(new Runnable() {
        @Override
        public void run() {
            // TODO Auto-generated method stub
        }
    });
    2.实现Runnable接口,实现run方法;
    public class RunnableDemo implements Runnable {
    
    	protected int countDown = 10;
    	private static int taskCount = 0;
    	private final int id = taskCount++;
    
    	public RunnableDemo() {
    	}
    
    	public RunnableDemo(int countDown) {
    		this.countDown = countDown;
    	}
    
    	public String status() {
    		return "#" + id + "(" + (countDown > 0 ? countDown : "LiftOff!") + ").";
    	}
    
    	@Override
    	public void run() {
    		while (countDown-- > 0) {
    			System.out.print(status());
    			Thread.yield();// 将CPU从一个线程转移给另一个线程
    		}
    	}
    
    	public static void main(String[] args) {
    
    		System.out.println("这个任务的run()不是单独的线程驱动,是在main()中直接调用");
    		RunnableDemo launch = new RunnableDemo();
    		launch.run();
    		System.out.println();
    		System.out.println("************************************");
    
    		System.out.println("在新线程中启动任务");
    		Thread thread = new Thread(new RunnableDemo());
    		thread.start();
    		System.out.println("Waiting for LiftOff");
    		System.out.println("************************************");
    
    		System.out.println("添加多个线程去驱动更多的任务");
    		for (int i = 0; i < 5; i++) {
    			new Thread(new RunnableDemo()).start();
    		}
    		System.out.println("Waiting for LiftOff");
    
    		System.out.println("************************************");
    		System.out.println("使用executor");
    		ExecutorService exec = Executors.newCachedThreadPool();
    		exec=Executors.newFixedThreadPool(5);
    		for (int i = 0; i < 5; i++) {
    			exec.execute(new RunnableDemo());
    		}
    		exec.shutdown();
    		
    		Thread t=new Thread(new Runnable() {
    			
    			@Override
    			public void run() {
    				// TODO Auto-generated method stub
    				
    			}
    		});
    	}
    
    }
    

      

  • 相关阅读:
    配置好IIS中的SMTP服务器
    金秋十月
    "小生"的Google搜索结果
    "苏州大本营"腐败大会第三次顺利召开
    我修改了半年的密码还没有成功修改,dudu你能修改吗?
    好资源大家分享
    利用Google来调用其他网站查询信息
    推荐一本书<<专家门诊——ASP.NET开发答疑200问>>
    谁能给我一个FeedDemon v1.1的序列号或者注册文件
    毕业2月有余,苏州同学腐败第二次大聚会
  • 原文地址:https://www.cnblogs.com/zeze/p/6564392.html
Copyright © 2020-2023  润新知