• 进程与线程浅析(二)


    今天主要介绍一下JAVA中,线程的使用。

    首先,总结下java对线程的支持。

    在JAVA中,对线程的支持主要体现在一个类(class)和一个接口(interfac)中。

    即Thread类,和Runnable接口。

    特点:

    a)两者皆继承于java.lang包。

    b)两者都有一个public void run()方法。提供线程实际工作的代码。

    其次,介绍一下java中线程的创建和启动

    a)线程的创建

    Thread()

    Thread(String name)

    Thread(Runnable target)

    Thread(Runnable target, String name)

    b)线程的启动

    void start()

    再次,介绍一下线程的常用方法

    a)线程休眠

    static void sleep(long millis)

    static void sleep(long millis, int nanos)

    b)使其他线程等待当前线程终止

    void join()

    无参数,则其他线程需等当前线程结束才可执行

    void join(long millis)

    有参数,则设置其他线程等待当前线程的等待时机的阈值

    void join(long mllis, int nanos)

    两个参数,则更加精确

    c)当前线程释放处理器资源

    static void yield()

    d)获取当前运行的线程引用

    static Thread currentThread()

    最后,写一段例程

    一段介绍

    public class Fanyoy extends Thread{
    
     
    
      
    
     
    
    public void run(){
    
     
    
      System.out.println(getName() + "是一家游戏公司");
    
     
    
      int count = 0;
    
     
    
      boolean isRunning = true;
    
     
    
      while(){
    
     
    
      System.out.println(getName() + "上线" + (++ count) + "部作品");
    
     
    
      if(count == 100)
    
     
    
      {
    
     
    
        isRunning = false;
    
     
    
      }
    
     
    
      if(coun % 10 == 0)
    
          {
    
     
    
        Thread.sleep(1000);
    
     
    
      }
    
     
    
      }
    
     
    
    }
    
     
    
    public static void main(String[] args){
    
     
    
      Thread fanyoy = new Fanyoy();
    
     
    
      fanyoy.setName("Fanyoy");
    
     
    
      fanyoy.start();
    
           
    
          Thread murong = new Thread(new Murong(), "Murongxiaopifu");
    
          
    
          murong.start();
    
         
    
     
    
    }
    
     
    
    }
    
      
    
    class Murong implements Runnable(
    
     
    
    public void run(){
    
     
    
      System.out.println(Thread.currentThread.getName() + "是一个程序员");
    
     
    
      int count = 0;
    
     
    
      boolean isRunning = true;
    
     
    
      while(){
    
     
    
      System.out.println(Thread.currentThread.getName() + "上线" + (++ count) + "部作品");
    
     
    
      if(count == 100)
    
     
    
      {
    
     
    
        isRunning = false;
    
     
    
      }
    
     
    
      if(coun % 10 == 0)
    
          {
    
     
    
        Thread.sleep(1000);
    
     
    
      }
    
     
    
      }
    
     
    
    }
    
     
    
         
    
    } 
    
  • 相关阅读:
    APP上传问题集锦
    objectiveC【语法】修饰符 static extern const
    NSLog
    iOS开发之获取系统相册中的图片与视频(内带url转换)
    Re:iOS 开发中的争议(一、二)
    iOS静态库(.a 和framework)
    iOS 获取本地视频的缩略图
    iOS 查询数组中的对象
    IOS判断文件类型
    循环引用问题 -- dealloc方法不执行
  • 原文地址:https://www.cnblogs.com/murongxiaopifu/p/4074872.html
Copyright © 2020-2023  润新知