zoukankan      html  css  js  c++  java
  • 多线程 编写多线程的两种方式

    1、通过继承Thread编写多线程类

     1 package org.zln.thread;
     2 
     3 import java.util.Date;
     4 
     5 /**
     6  * Created by coolkid on 2015/6/21 0021.
     7  */
     8 public class TestThread extends Thread{
     9     private int time;//休眠时间
    10     private String user;//调用用户
    11 
    12     public TestThread(int time, String user) {
    13         this.time = time;
    14         this.user = user;
    15     }
    16 
    17     @Override
    18     public void run() {
    19         while (true){
    20             try {
    21                 System.out.println(Thread.currentThread().getName()+"	"+user+" 休息 "+time+"ms-"+new Date());
    22                 Thread.sleep(time);
    23             } catch (InterruptedException e) {
    24                 e.printStackTrace();
    25             }
    26         }
    27     }
    28 
    29     public static void main(String[] args) {
    30         Thread thread1 = new TestThread(1000,"Jack");
    31         Thread thread2 = new TestThread(3000,"Mike");
    32         thread1.start();
    33         thread2.start();
    34     }
    35 }
    E:GitHub oolsJavaEEDevelopLesson1_JavaSe_Demo1srcorgzln hreadTestThread.java

    设置线程优先级:thread2.setPriority(Thread.MAX_PRIORITY);

    这样就能够保证每次都是thread2先于thread1执行

    2、通过实现Runnable接口编写多线程类

     1 package org.zln.thread;
     2 
     3 import java.util.Date;
     4 
     5 /**
     6  * Created by coolkid on 2015/6/21 0021.
     7  */
     8 public class TestRunnable implements Runnable {
     9     private int time;//休眠时间
    10     private String user;//调用用户
    11 
    12     public TestRunnable(int time, String user) {
    13         this.time = time;
    14         this.user = user;
    15     }
    16 
    17     @Override
    18     public void run() {
    19         while (true){
    20             try {
    21                 System.out.println(Thread.currentThread().getName()+"	"+user+" 休息 "+time+"ms-"+new Date());
    22                 Thread.sleep(time);
    23             } catch (InterruptedException e) {
    24                 e.printStackTrace();
    25             }
    26         }
    27     }
    28 
    29     public static void main(String[] args) {
    30         Thread t1 = new Thread(new TestRunnable(1000,"Jack"));
    31         Thread t2 = new Thread(new TestRunnable(3000,"Mike"));
    32         t2.setPriority(Thread.MAX_PRIORITY);
    33         t1.start();
    34         t2.start();
    35     }
    36 }
    E:GitHub oolsJavaEEDevelopLesson1_JavaSe_Demo1srcorgzln hreadTestThread.java
  • 相关阅读:
    MyEclipse安装教程以及配置server和运行起来
    倒计时代码-附效果图
    图片循环滚动代码-附效果图
    一个手机页面的导航代码,附效果图
    html电子书翻页效果代码,附效果演示
    唯美雪景雪花飘落代码,附效果演示
    非常漂亮的纯css3实现多彩侧边导航(非常流畅),附效果演示
    页面加密代码,附效果演示
    前端开发每天必学之HTML入门介绍
    仿网易官网顶部展出的大幅广告代码,附效果演示
  • 原文地址:https://www.cnblogs.com/sherrykid/p/4592347.html
Copyright © 2011-2022 走看看