• 线程


    线程:线程可以方便的控制方法的执行。如循环执行方法,设置方法的执行时间间隔,方法的停止执行等,在一些开发项目中经常使用。java虚拟机允许应用程序并发地运行多个执行线程,多个线程共享进程的内存,大大提高了执行效率和cpu的利用率。
    线程概述:现在的操作系统是多任务操作系统,多线程是实现多任务的一种方式。程序,进程和线程,他们之间到底有什么关系呢?程序是一段静态的代码,进程是程序的一次动态执行的过程。进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间。比如在Windows系统中,一个运行的exe就是一个进程。线程是指进程中的一个执行流程,一个进程中可以运行多个线程,线程是比进程更小的执行单位。比如java.exe进程中可以运行多个线程,线程总是属于某个进程,进程中的多个线程共享进程的内存。“同时”进行是人的感觉,在线程之间实际上是轮换执行。在基于线程的多个任务环境中,线程是最小的单位。

    线程的创建与启动
    创建线程有两种方法。一种方法是将类声明为Thread的子类,该子类应重写Thread类的run()方法。
    class A extends Thread{
    int a;
    public A(int a){
    this.a=a;
    public void run(){
    ...//此处为线程执行的主体部分
    }
    ...}

    启动该线程的方法如下:
    A one=new A(12);
    one.start();//使该线程开始执行,java虚拟机调用该线程的run()方法

    利用extends Thread方式创建线程举例:
    public class TestThread Thread{
    public TeatThread(String name){
    //构造方法
    super(name);
    }
    public void run(){
    for(int i=0;i<5;i++){
    for(long k=0;k<100000000;k++);//延迟
    System.out.println(this.getName()+":"+i);
    }
    }
    public static void main(String []args){
    Thread t1=new TestThread("张三");
    Thread t2=new TeatThread("张思");
    t1.start();//启动线程
    t2.start();
    }
    }

    创建第二种方法是声明实现Runnable接口的类,该类实现Runnable接口,类必须定run()方法。
    class B implements Runnable{
    int b;
    public B(int b){
    this.b=b;

  • 相关阅读:
    dirname,basename的用法与用途
    终极解决方案——sbt配置阿里镜像源,解决sbt下载慢,dump project structure from sbt耗时问题
    linux-manjaro下添加Yahei Hybrid Consola字体
    Idea无法调出搜狗等中文输入法
    Spring 源码学习系列
    BF算法
    Mybatis Mapper接口是如何找到实现类的-源码分析
    Lua脚本在redis分布式锁场景的运用
    GO语言一行代码实现反向代理
    SpringMVC源码分析-400异常处理流程及解决方法
  • 原文地址:https://www.cnblogs.com/Angella/p/6052791.html
Copyright © 2020-2023  润新知