zoukankan      html  css  js  c++  java
  • 0基础学java_线程

    进程和线程的区别

    进程:进程是系统进行资源分配和调度的一个独立单位.

    线程:进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.

    一个线程可以创建和撤销另一个线程;同一个进程中的多个线程之间可以并发执行.

    相对进程而言,线程是一个更加接近于执行体的概念,它可以与同进程中的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。

    实现多线程的方法:

    继承thread类

    Thread类是java.lang包中定义的,一个类只要继承了thread类就可以称为多线程的操作类。在thread类中必须覆写run()方法,此方法为多线程主体。

    举例:

     1 package com.feimao.a1;
     2 class MyThread extends Thread{
     3     private String name;
     4     public MyThread(String name){
     5         this.name = name;
     6     }
     7     public void run(){
     8         for(int i = 0 ; i <= 10 ; i++){
     9             System.out.println(name + "运行 , i = " + i);
    10         }
    11     }
    12 }
    13 public class ThreadDemo01 {
    14     public static void main(String args[]){
    15         MyThread mt1 = new MyThread("线程 A");
    16         MyThread mt2 = new MyThread("线程 B");
    17         mt1.run();
    18         mt2.run();
    19     }
    20 }

    以上程序是先执行完A再执行B,还是按照古老的形式调用,并没有执行并发操作。但是如果想要启动一个线程,必须使用thread中定义的start()方法。一旦调用start()方法,其实最终调用的还是run()方法。

     1 package com.feimao.a1;
     2 
     3 class MyThread extends Thread{
     4 
     5     private String name;
     6 
     7     public MyThread(String name){
     8 
     9         this.name = name;
    10 
    11     }
    12 
    13     public void run(){
    14 
    15         for(int i = 0 ; i <= 10 ; i++){
    16 
    17             System.out.println(name + "运行 , i = " + i);
    18 
    19         }
    20 
    21     }
    22 
    23 }
    24 
    25 public class ThreadDemo01 {
    26 
    27     public static void main(String args[]){
    28 
    29         MyThread mt1 = new MyThread("线程 A");
    30 
    31         MyThread mt2 = new MyThread("线程 B");
    32 
    33         mt1.start();
    34 
    35         mt2.start();
    36 
    37     }
    38 
    39 }

    哪个线程先抢到CPU资源先执行。

    实现runnable接口

  • 相关阅读:
    struts2基础
    hibernate框架基础
    Django的模板层
    HBuilder无法连接夜神模拟器的解决办法
    Django的视图层
    Django的路由层
    Django简介
    http协议
    web应用
    Mongodb之增删改查
  • 原文地址:https://www.cnblogs.com/feimaoyuzhubaobao/p/9886276.html
Copyright © 2011-2022 走看看