zoukankan      html  css  js  c++  java
  • Java线程的学习笔记

    Java线程的学习笔记:


    一、使用Thread创建线程的方法步骤
    (1)创建一个新的线程类,实现Thread类;
    (2)定义一个线程类的对象,用new关键字完成创建;
    (3)利用线程对象启动线程的start()方法;
    (4)调用线程的run()方法;
    class NewThread extends Thread{
    public NewThread(String sName){         //Thread类有Name属性,通过构造函数可传递
    super(sName);
    }


    public void run(){
    System.out.println("这是继承Thread类实现的线程。");
    }
    }
    public class UseThread{
    public static void main(String args[]){
    NewThread ThreadType=new NewThread("继承Thread");
    ThreadType.start();
    }
    }


    二:实现Runnable接口
    (1)、定义一个实现Runnable接口的类;
    (2)、创建一个Runnable的实例,使用new关键字完成;Runnable pRunnable=new NewThread();
    (3)、通过实例创建一个Thread类的实例;
    (4)、启动start()方法;


    class NewThread implements Runnable{
    public void run(){                 //Runnable要定义成员变量,然后设置线程的名称
    System.out.println("这是一个实现Runnable接口的线程。");
    }
    }


    public class UseThread{
    public static void main(String args[]){
    Runnable nt = new NewThread();
    Thread pThread = new Thread(nt);
    pThread.start();
    }
    }




    二:线程的状态
    1、创建状态,调用new方法创建一个线程对象后,但是没有调用strat()方法前的状态;
    2、可运行状态,当线程执行start()方法之后,线程就转换为可运行状态。此状态说明线程具备了可以运行的条件,但是线程不一定处于运行状态。在单处理器中处理多线程的时候,一个时间点上只能运行一个线程,系统通过调度机制实现在宏观上实现运行线程共享处理器,因此一个线程是否在运行除了处于Runnable状态外,线程的优先级和调度也是因素。
    3、不可运行状态,此状态是由于线程被挂起或者发生阻塞,例如对一个线程调用suspend()方法或者wait()方法就可以进入阻塞状态。
    4、退出状态,一个线程可以从任何状态中调用stop()方法进入退出状态,线程一旦进入退出状态就不存在了。


    三、线程的调度,设置优先级setPriority(int newPriority)


    四、线程同步:通过关键字synchonized进行线程的同步,线程同步会降低执行效率,有同步代码块和同步函数两种方式。
  • 相关阅读:
    poj 3243 Clever Y(BabyStep GiantStep)
    poj 2417 Discrete Logging
    poj 3481 Double Queue
    hdu 4046 Panda
    hdu 2896 病毒侵袭
    poj 1442 Black Box
    hdu 2815 Mod Tree
    hdu 3065 病毒侵袭持续中
    hdu 1576 A/B
    所有控件
  • 原文地址:https://www.cnblogs.com/dengshiwei/p/4258663.html
Copyright © 2011-2022 走看看