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进行线程的同步,线程同步会降低执行效率,有同步代码块和同步函数两种方式。
  • 相关阅读:
    【Java123】JDBC数据库连接池建立
    【招聘123】Some good open positions
    [Java123]Gradle
    4_3:流程控制:循环练习
    4_3:流程控制:while + do while + continue + break
    4_2:流程控制:[ for循环 ] + 断点调试
    4_1:流程控制:分支结构:[ if else ] + [ 三元表达式 ] + [ switch case ]
    3:运算符 + 运算符优先级 [ 逻辑短路 ]
    2_3:变量:[ 类型之间转换 ]
    2_2:变量:[ 五种简单数据类型 ]
  • 原文地址:https://www.cnblogs.com/dengshiwei/p/4258663.html
Copyright © 2011-2022 走看看