java(20130806)多线程

发布时间:2014-10-23 23:28:20
来源:分享查询网

多线程 继承java.lang.Thread 特点:不能再次扩展其他类 用的较少 实现:java.lang.Runnable 用得较多 无论是继承Thread类还是实现Runnable接口 都需要实现run()方法.   Eg: publicclass MyRunnable implements Runnable {       @Override     publicvoid run() {         System.out.println("线程名称:"+Thread.currentThread().getName());     }   }       publicstaticvoid main(String[] args) {                 MyRunnable mr = new MyRunnable();         Thread th1 = new Thread(mr, "线程一");         Thread th2 = new Thread(mr, "线程二");         Thread th3 = new Thread(mr, "线程三");         th1.start();//main 线程一         th2.start();//main 线程一 线程二         th3.start();//main 线程一 线程二 线程三         System.out.println("线程名称:"+Thread.currentThread().getName());     }         Eg: publicclass MyThread extends Thread {       @Override     publicvoid run() {         System.out.println("线程名称:"+Thread.currentThread().getName());     }   }     publicstaticvoid main(String[] args) {                 MyThread mt1 = new MyThread();         MyThread mt2 = new MyThread();         MyThread mt3 = new MyThread();         mt1.start();//main Thread_0         mt2.start();//main Thread_0 Thread_1         mt3.start();//main Thread_0 Thread_1Thread_2         System.out.println("线程名称:"+Thread.currentThread().getName());     }         Run可理解为是多线程的入口函数 Run方法执行完后该线程也就执行完了 多线程的业务逻辑都写在run里     调用线程的start()方法.     Sleep: 需要注意的事项 不可以调用别的线程的sleep方法(在a线程的代码中调用sleep方法,那么就是a线程休息) sleep必须要进行try,catch处理 不可以使别的线程进入sleep状态 Thread.sleep(XXX);   同步:在单位时间只有一个线程执行特定的代码. 关键字:synchronized 同步方法:访问修饰符  修饰符synchronized 返回值类型 方法名称(参数列表){方法体} 同步块:synchronized(引用类型的变量){语句块}

返回顶部
查看电脑版