zoukankan      html  css  js  c++  java
  • 线程

    线程:线程可以方便的控制方法的执行。如循环执行方法,设置方法的执行时间间隔,方法的停止执行等,在一些开发项目中经常使用。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;

  • 相关阅读:
    The Fifth Season Gym
    SuperHyperMarket Gym
    Far Manager Gym
    Game Map------Gym
    Happy Number
    Pursuing the Happiness
    Digit sum-----The Preliminary Contest for ICPC Asia Shanghai 2019
    Light bulbs------The Preliminary Contest for ICPC Asia Shanghai 2019
    P2921 [USACO08DEC]在农场万圣节Trick or Treat on the Farm
    HDU 1203 I NEED A OFFER!
  • 原文地址:https://www.cnblogs.com/Angella/p/6052791.html
Copyright © 2011-2022 走看看