zoukankan      html  css  js  c++  java
  • 线程

    java线程:

    线程是一个程序内部的顺序控制流。

    cpu实际上在一个时间点上,只执行一个。只不过我们把cup分成了多个时间片,由于速度很快,我们看起来像是多个线程。。

     

    就像你的时间分成几片,这样 整体看来做事情有规律,效率就会高,何况是cup呢。

     

    线程的创建和启动:

    方法一:

    java线程通过java.lang.Thread类来实现。

    VM启动时会有一个主方法所定义的线程,

    每一个线程是Tread对象通过它的run()方法来完成操作。

    启动线程方式:Thread的start()方法。

     

    例如:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    public class  TestThread
     
    {
     
      
     
    public static void main(String[] args)
     
    {
     
    Runner1 r = new Runner1();
     
    //定义线程对象。并且调用线程的构造方法。
     
    Thread t = new Thread(r);
     
    //启动线程。
     
    t.start();
     
      
     
    for(int i=0;i<100;i++)
     
    {
     
    System.out.println("Main thread-----" + i);
     
    }
     
      
     
    }
     
      
     
    }
     
      
     
    class Runner1 implements Runnable
     
    {
     
    public void run()
     
    {
     
    for (int i=1;i<100;i++)
     
    {
     
    System.out.println("Runner1" + i);
     
    }
     
    }
     
    }

      

    方法二:

    定义一个Thread类的子类,重写run()方法,然后生成这个类的对象,在启动进程。

     

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    public class  TestThread
     
    {
     
      
     
    public static void main(String[] args)
     
    {
     
    Runner1 r = new Runner1();
     
    //启动线程。
     
    r.start();
     
      
     
    for(int i=0;i<100;i++)
     
    {
     
    System.out.println("Main thread-----" + i);
     
    }
     
      
     
    }
     
      
     
    }
     
      
     
    class Runner1 extends Thread
     
    {
     
    public void run()
     
    {
     
    for (int i=1;i<100;i++)
     
    {
     
    System.out.println("Runner1" + i);
     
    }
     
    }
     
    }

      

     

    两种方式比较,实现接口这种方法较灵活些。

     

     

    线程控制方法:

     

  • 相关阅读:
    First Missing Positive
    Find Minimum in Rotated Sorted Array II
    switch两种写法对比
    常用的前端JavaScript方法封装
    如何保证缓存和数据库的一致性?
    14个前端小知识
    dataTable转换特定的类
    C# MD5 32大写位加密 UTF-8编码
    另一个 SqlParameterCollection 中已包含 SqlParameter
    C#实现数据回滚,A事件和B事件同时执行,其中任何一个事件执行失败,都会返回失败
  • 原文地址:https://www.cnblogs.com/ruixinyu/p/5769634.html
Copyright © 2011-2022 走看看