zoukankan      html  css  js  c++  java
  • 进程与线程浅析(二)

    今天主要介绍一下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);
    
     
    
      }
    
     
    
      }
    
     
    
    }
    
     
    
         
    
    } 
    
  • 相关阅读:
    eclipse如何设置高亮代码的背景色,比如选中某个单词,高亮所有的
    javascript弹层
    click只能点击一次
    eclipse创建文件夹河包
    maven工程如何引用css和js文件
    maven-parent的pom.xml配置
    pom.xml设置maven的编码方式
    springmvc搭建环境时报No mapping found for HTTP request with URI [/exam3/welcome] in DispatcherServlet with name 'spring2'
    sso的实现
    C#中,重新排列panel中的按钮
  • 原文地址:https://www.cnblogs.com/murongxiaopifu/p/4074872.html
Copyright © 2011-2022 走看看