zoukankan      html  css  js  c++  java
  • Java学习之并发多线程理解

    1、线程简介:

      世间万物会同时完成很多工作,如人体同时进行呼吸、血液循环、思考问题等活动,用户既可以使用计算机听歌也可以使用它打印文件,而这些活动完全可以同时进行,这种思想在Java中称为并发,而将并发完成的每一件事情称为线程。Java语言提供并发机制,程序员可以在程序中执行多个线程,每一个线程完成一个功能,并与其它线程并发执行,这种机制称为多线程。

    2、实现线程的方式

    在Java中主要提供两种方式实现线程,分别为继承java.lang.Thread类与实现java.lang.Runnable接口。

    (1)继承Thread类

    Thread类是java.lang包中的一个类,从这个类中实例化的对象代表线程,程序员启动一个新线程需要建立Thread实例。Thread类常用的构造方法如下:

      public  Thread(String  threadName)

      public  Thread()

    第一个构造方法是创建一个名称为threadName的线程对象。继承Thread类创建一个新的线程语法格式如下:

      public  class  ThreadTest  extends  Thread{

           //................

      }

    完成线程真正功能的代码放在类的run()方法中,当一个类继承Thread类后,就可以在该类中覆盖run()方法,将实现该线程功能的代码写入run()方法中,然后同时调用Thread类的start()方法执行线程,本质上,start()方法执行对run()方法的调用。如果start()方法调用一个已经启动的线程,系统会抛出IllegalThreadStateException异常。

    3、主线程

      当Java程序启动时,会立即开始运行一个线程,因为它是程序开始时执行的程序,所以,这个线程通常称为程序的主线程。主线程很重要:

    • 其它子线程都是从主线程产生的。
    • 通常,主线程必须是最后才结束执行的线程,因为它要执行各种关闭动作。

     尽管主线程是在程序启动时自动创建的,但是可以通过Thread对象对其进行控制。调用currentThread()方法获取对主线程的一个引用。该方法是Thread类的公有静态成员,一般形式     static  Thread   currentThread() ;这个方法返回对调用它的线程的引用。得到对主线程的引用,就可以控制主线程了。

    当执行一个程序时,就自动产生一个线程,主方法正是在这个线程上运行的。当不再启动其它线程时,该程序就为单线程程序。主方法线程启动由Java虚拟机负责,程序员负责启动自己的线程。一般语法:

        public  static  void main (String[] args){

            new  ThreadTest().start() ;

          }

    该实例:

    Thread类定义的方法
    String  getName() 获取线程的名称
    int  getPriority() 获取线程的优先级
    boolean  isAlive() 确定线程是否仍然在运行
    void   join() 等待线程终止
    void   run() 线程的入口点
    static  void  sleep(long millis) 挂起线程一段时间,毫秒计
    void  start() 通过调用线程的run()方法启动线程
       
  • 相关阅读:
    用c写一个小的聊天室程序
    socket相关的开机初始化分析
    HTML——CSS3学习
    iOS--OCR图片识别
    iOS学习——Socket
    iOS学习——数据加密
    iOS学习——并发编程GCD
    iOS学习——weak的应用场景
    iOS学习——RUNLOOP、NSTimer
    iOS学习——锁
  • 原文地址:https://www.cnblogs.com/sdlzspl/p/7269713.html
Copyright © 2011-2022 走看看