• JAVA 线程


    1、线程概念

     创建好了自己的线程类之后,就可以创建线程对象了,然后通过start()方法去启动线程。注意,不是调用run()方法启动线程,run方法中只是定义 需要执行的任务,如果调用run方法,即相当于在主线程中执行run方法,跟普通的方法调用没有任何区别,此时并不会创建一个新的线程来执行定义的任务。

    2、实现进程

    thread类方法实现进程

    import java.io.InterruptedIOException;
    
    
    public class xiancheng {
    
    	/**
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		mThread you = new mThread("你");
    		mThread she = new mThread("她");
    		you.start();
    		she.start();
    		// TODO Auto-generated method stub
    		System.out.println("主方法运行结束");
    
    	}
    
    }
    
    
    class mThread extends Thread
    {
    	private String who;
    	public mThread(String str)
    	{
    		who = str;
    	}
    	public void run()
    	{
    		for(int i =0;i<10;i++)
    		{
    			try
    			{
    				sleep((int)(1000*Math.random()));
    			}
    			 catch (InterruptedException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    			System.out.println(who+"正在运行"+i);
    		}
    	}
    	
    }
    

    Runnable 接口实现

    引入Runnable接口的原因: 如果类本身已经继承了某个父类,由于Java不允许类的多重继承,所以就无法继承Thread类,特别是小程序。这种情况下可以创建一个类来实现Runnable接口。该方法更具有灵活性。Runnable接口只有一个方法run(),用户可以声明一个类并实现Runnable接口,并定义run()方法,将线程代码写入其中。此外由于该接口没有任何对线程的支持,所以还必须创建Thread实例,这一点通过Thread类的构造方法实现。

    间接实现多重继承

    private String who;
        public mThread(String str)
        {
            who = str;
        }
        public void run()
        {
            for(int i =0;i<10;i++)
            {
                try
                {
                    Thread.sleep((int)(1000*Math.random()));
                }
                 catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                System.out.println(who+"正在运行"+i);
            }
        }
  • 相关阅读:
    行规
    不要在对抽象类接口abstract virtual什么的混淆不清了
    MQ与Webservice的区别
    Asp.net MVC流程简述
    Lambda表达式树
    mysql用户管理、权限管理
    mysql锁、事务、存储引擎、索引
    mysql新增、删除、修改
    mysql基础
    linux的任务计划与mail
  • 原文地址:https://www.cnblogs.com/Kevin127/p/4987991.html
Copyright © 2020-2023  润新知