多线程基础

线程和进程概念

    1> 一个任务通常就是一个程序,每个运行中的程序就是一个进程。
       当一个程序运行时,内部可能包含了多个顺序执行流,每个顺序执行流就是一个线程。
       多线程是扩展了多进程的概念,使得同一个进程可以同时并发处理多个任务。
       一个进程可以拥有多个线程,一个线程必须有一个父进程。
   2> 线程是独立运行的,它并不知道进程中是否还有其他线程存在。线程的执行时抢占式的,也就是说,当前运行的线程在任何时候都可能被挂起,以便让另外一个线程可以运行。
   3> 当操作系统创建一个进程时,必须为该进程分配独立的内存空间,并分配大量的相关资源,并且多个进程之间不能共享内存;但创建一个线程则简单的多。同一个线程中的进程都有共性------共享一个进程虚拟空间。线程共享的环境包括:进程代码段、进程的公有数据。

线程的创建方式

    1> 继承Thread类创建线程

        继承Thread,并重新run()方法,可以通过Thread.currentThread()方法获取当前正在运行的线程对象,              这种方式可以直接调用getName()方法获取线程名。

      2>实现Runnable接口创建线程类
          实现Runnable接口,并重写接口的run()方法,创建Runnable实现类的实例,并以此实例作为Thread的target来创建Thread对象,该Thread对象才是真正的线程对象。
        示例:new Thread(new Runnable()); new Thread(new Runnable(),"新线程");
        值得一提的是,实现Runnable接口时,获取当前线程名,必须使用Thread.currentThread().getName();







posted @ 2017-10-18 21:40  vegatate  阅读(102)  评论(0编辑  收藏  举报