• 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进行线程的同步,线程同步会降低执行效率,有同步代码块和同步函数两种方式。
  • 相关阅读:
    自己用的vim插件
    关于利用python进行验证码识别的一些想法
    看看黑客如何破解验证码机制
    不懂技术的人不要对懂技术的人说这很容易实现
    4个mysql客户端工具的比较
    GB2312,GBK和UTF-8的区别
    Windows下用Python你会几种copy文件的方法?
    python3.4连接mysql数据库的方法
    python3操作mysql教程
    python win32com
  • 原文地址:https://www.cnblogs.com/dengshiwei/p/4258663.html
Copyright © 2020-2023  润新知