黑马程序员--Java多线程

来源:互联网 发布:河南卫生统计网络直报 编辑:程序博客网 时间:2024/06/01 09:54

------- android培训、java培训:期待与您交流! ---------

Java多线程

一、进程和线程概念

         现在的操作系统是多任务操作系统。多线程是实现多任务的一种方式。

        进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就  是一个进程。

        线程是指进程中的一个执行流程,一个进程中可以运行多个线程。比如java.exe进程中可以运行很多线程。线程总是属于某个进程,进程中的多个线程共享进程的内存。

        “同时”执行是人的感觉,在线程之间实际上轮换执行。

二、创建线程:
       1,第一种方法:通过继承Thread类。
             1)定义类继承Thread类。
             2)复写Thread类中的run方法。
             3)调用线程的start方法,该方法有两个作用:启动线程,调用run方法。
             4)代码示例:
class ThreadDemo extends Thread{public void run(){for(int i=0;i<100;i++){System.out.println("Demo thread run");}}}public  class Demo {public static void main(String[] args) {              new ThreadDemo().start();} }

             5)上面的代码中最少有两个线程,一个是main主线程,另一个就是new ThreadDemo().start();
      
        2,第二种方法:通过实现Runnable接口
              1)定义类实现Runnable接口
              2)覆盖Runnable接口中的run方法。将线程要运行的代码放入该run方法中。
              3)通过Thread类建立线程对象。
              4)将Runnable接口的子类对象作为实际参数传递给Thread类的构造函数。
              5)调用Thread类的start方法,开启线程并调用Runnable接口之类的run方法。
              6)代码示例:
class ThreadDemo extends Thread{public void run(){for(int i=0;i<100;i++){System.out.println("Demo thread run");}}}class RunnableDemo implements Runnable{public void run() {for(int i=0;i<100;i++){System.out.println("Demo Runnable thread run");}}}public  class test111 {public static void main(String[] args) {   new Thread(new RunnableDemo()).start();           new ThreadDemo().start();} }
           7)当然涉及到多线程,就会有安全问题,可以用同步功能或者java锁机制来解决。
              













原创粉丝点击