Java线程与进程

来源:互联网 发布:ubuntu 命令 编辑:程序博客网 时间:2024/04/30 21:23
1.进程:

   运行中的应用程序,每一个进程都有自己独立的内存空间,一个应用程序可以同时启动多个进程,如IE浏览器


2.线程:

    线程是指一个进程中的指向流程,有时也称为执行情景,一个进程可以由多个线程组成每一个进程执行都有一个执行顺序,该执行顺序是一个执行的路径或者叫控制单元。

   线程就是进程中的一个独立的控制单元,线程在控制着进程的执行一个进程中至少有一个线程,线程是属于进程的。

   执行一个JAVA程序默认会创建一个主线程也就是main线程


3.如何来自定义一个线程?
 有两种方法可以创建一个线程类:
 (1)让我们的类继承Thread类:
  步骤:
  第一步:让自定义类继承Thread类
  第二步:复写Thread类中run方法
    目的:将自定义代码存储在run方法中,让线程运行
 第三步:调用自定义线程对象的start()方法
    该方法有两个作用:一是启动线程,二是执行run方法
 注意:千万不要主动去调用run方法
        不可以让一个线程对象多次启动(也就是一个线程对象只能调用一次start()方法

       我们不要轻易的去复写start()方法


4.获取线程名称的方法可以使用getName();java虚拟机会给线程默认起一个名字,用
thread-i表示,i从0开始的。

要想获取主线程的名称的可以通过Thread.currentThread().getName()来获得 


5.要想给我们的自定义线程设置名称的话,有几种方法呢?
   有两种方法:一种是通过在构造方法中传递参数,但必须要提供一个有参数的构造方法
   而且在该构造方法中使用super(线程名称);把要设置的线程名称作为super的参数传递个Thread
   父类的构造方法,然后通过getName()方法来获取
   第二种可以直接通过自定义线程对象的setName()方法来设置线程名称
   
6.Thread.sleep(毫秒数):让线程休息一会
  该方法的作用是让线程从运行状态到 冻结状态(被放在线程的等待池中),但休息的毫秒结束后

  线程又处于可运行状态了,随时可能被再次执行(只要获取到CPU的资源);


7.创建自定义线程的第二种方法:
    (1)第一步:让我们的类实现Runnable接口
    (2)第二步:复写run()方法,把需要多线程执行的代码放到这个方法中来
    (3)第三步:创建一个本类的对象
  (4)通过Thread来创建一个线程对象,然后把第三步中创建的本类对象作为该线程构造方法的一个参数,如果要创建多个
    线程的话,每一个线程都要传递该一个本类的对象
    (5)分别调用Thread线程对象的start()方法
    
    
    
   
  
  
0 0