线程中start和run的区别

  1. start()可以启动一个新进程,run()不可以

  2. start()不能被重复调用;run()方法只是thread的一个普通方法调用,还是在主线程里执行,可以实现重复调用

    run()方法: 在本线程内调用该Runnable对象的run()方法,可以重复多次调用;
    start()方法: 启动一个线程,调用该Runnable对象的run()方法,不能多次启动一个线程

  3. start()中的run()代码可以在不执行完就执行下列代码,即进行了线程切换。直接调用run()方法则必须等待其代码完全执行完才可以执行下列代码

  4. start()实现了多线程,run()没有实现多线程