• 初步接触线程——一点浅显的总结


    线程

    概念:线程是CPU调度的最小单位,在一个进程中至少会有一条由虚拟机发起的线程,成为主线程。

    线程有着生命周期,包括以下部分:

      (1)创建线程对象

      (2)线程启动  开始   start

      (3)CPU的调度:a.运行  running

              b.阻塞  blocked 

      (4)run方法结束  死亡  dead  

    对于线程的开启,有三种方法:

      (1)匿名内部类创建线程

      (2)自定义类继承  Thread

      (3)自定义类实现 Runnable接口

    匿名内部类:

      Thread thread = new Thread(){

        @Override

        public void run(){

          ...

        }

      };

      thread.start();  //线程启动的唯一方法

       

    自定义子类继承Thread:

      需要自定义一个子类继承Thread,开启线程

      class MyThread extends Thread{

        //自定义属性

          ...

        @Override

         public void run(){

            ...

         }

       

      public static void main(String[] args){

        new MyThread().start();

      }

    }

      

      

     自定义类实现Runnable接口:

      class MyRun implentments Runnable{

        //自定义属性

          ...

        @Overrride

        public void run(){

          ...

        }

        public static void main(String[] args){

        new Thread(new Myrun()).start();

        /*或者 

          Runnable ru = new MyRun();

          Thread thread = new Thread(ru);

          thread.start();

        */

        }

    }

      

      java中主要用到的两种方法:一种继承Thread ;一种实现Runnable接口

          extends Thread  implements Runnable

      其中Thread是Runnable接口的子类,Runnable可以实现资源的共享,

    而Thread方法却只能继承一个父类,所以Runnable的范围比Thread广。

  • 相关阅读:
    基于Python的TCP阻塞式echo服务器
    Memcache仅仅支持简单数据类型
    Memcached(七)Memcached的并发实例
    Memcached(六)Memcached的并发实例
    Memcached(五)Memcached的并发实例
    Tcl/Tk的安装(转)
    centos6.5下安装Scipy工具包
    Mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost'问题的解决
    mysql启动失败解决方案
    Linux更换python版本
  • 原文地址:https://www.cnblogs.com/afeiiii/p/13062362.html
Copyright © 2020-2023  润新知