JAVA线程相关的一些小知识,Thread

来源:互联网 发布:淘宝特卖网官网 编辑:程序博客网 时间:2024/05/17 22:15
在java中可有两种模式实现多线程,一种是继承Thread类,一种是实现Runnable接口,分别如下:
class MyThread extends Thread{          ...    public void run(){      ...     }  }  class MyThread1 implements Runnable{  ...     public void run(){  ...     }  }  
extends 是继承类,implements一般是实现接口,类似的用法还有implements OnClickListener等。
extends Thread是多个线程分别完成自己的任务;
implements Runnable是多个线程共同完成一个任务,共享同一个目标对象(TreadDemo1 tt=new TreadDemo1();),实现了多个相同线程处理同一份资源
其中Runnable的几个调用如下:
mThread = new Thread(new MyThread1());//调用start方法,线程mThread启动,隐含的调用run()方法mThread.start();//join()的作用是:“等待该线程终止”,这里需要理解的就是该线程是指的主线程等待子线程的终止。//也就是在子线程调用了join()方法后面的代码,只有等到子线程结束了才能执行mThread.join();//Thread.interrupt()方法不会中断一个正在运行的线程。//它的作用是,在线程受到阻塞时抛出一个中断信号,这样线程就得以退出阻塞的状态。//更确切的说,如果线程被Object.wait, Thread.join和Thread.sleep三种方法之一阻塞,那么,它将接收到一个中断异常(InterruptedException),从而提早地终结被阻塞状态mThread.interrupt();// 如果线程被生成了,但还未被起动,isAlive()将返回false,调用它的join()方法是没有作用的。将直接继续向下执行mThread.isAlive();
0 0
原创粉丝点击