线程操作范例
来源:互联网 发布:淘宝直通车计划 编辑:程序博客网 时间:2024/06/06 22:30
设计一个线程类。可以产生3个线程对象,并分别设置3个线程的休眠时间,具体如下:
从之前的学习应该可以知道,线程的实现有两种方式,一种是继承Thread类,另一种是实现Runnable接口。而且在类中应该存在保存线程名称和休眠时间的属性。
- 实现一–继承Thread 类
【使用Thread类实现】
class MyThread extends Thread{ private int time; public MyThread(String name,int time){ super(name);//设置线程名称 this.time=time;//设置休眠时间 } public void run(){ try { Thread.sleep(this.time);//指定休眠时间 } catch (Exception e) { e.printStackTrace(); } System.out.println(Thread.currentThread().getName()+"线程,休眠"+this.time+"毫秒"); }}public class ExecDemo01{ public static void main(String args[]) { MyThread my1=new MyThread("线程-A",10000); MyThread my2=new MyThread("线程-B",20000); MyThread my3=new MyThread("线程-C",30000); my1.start(); my2.start(); my3.start(); }}
运行结果:
线程-A线程,休眠10000毫秒线程-B线程,休眠20000毫秒线程-C线程,休眠30000毫秒
以上程序利用了Thread类的特点,所以不用单独设置name属性。
- 实现二–实现Runnable接口
如果使用Runnable接口实现多线程,则不像继承Thread类一样可以直接使用Thread类的name属性,需要在类中单独定义一个name属性来保存线程的名称。
【通过Runnable接口实现】
class MyThread implements Runnable{ private String name; private int time; public MyThread(String name,int time){ this.name=name; this.time=time; } public void run(){ try { Thread.sleep(this.time); } catch (Exception e) { e.printStackTrace(); } System.out.println(Thread.currentThread().getName()+"线程,休眠"+this.time+"毫秒"); }}public class ExecDemo02{ public static void main(String args[]) { MyThread my1=new MyThread("线程-A",10000); MyThread my2=new MyThread("线程-B",20000); MyThread my3=new MyThread("线程-C",30000); new Thread(my1).start(); new Thread(my2).start(); new Thread(my3).start(); }}
运行结果:
Thread-0线程,休眠10000毫秒Thread-1线程,休眠20000毫秒Thread-2线程,休眠30000毫秒
1 0
- 线程操作范例
- 线程操作范例
- Java多线程--线程操作范例
- 线程池 范例
- python线程范例
- C# 操作 Word 范例
- Java操作XML范例
- javascript操作cookie范例
- 泛型操作范例
- javascript Xml操作范例
- 泛型操作范例
- MongoDB 操作范例
- hbase API操作范例
- linux crontab操作范例
- perl 操作excel范例
- git-hub操作范例
- SQL操作范例
- python 线程池使用范例
- 反馈专题
- UML类图新手入门级介绍
- python自学之路-01
- ajax基础
- 箭头小三角(向上或向下、两条边)--两种制作方法
- 线程操作范例
- 单例的书写与通知、代理、Block简单的传值
- mysql5操作用户
- mysql数据库新建管理员
- 百度翻译C#API接口
- opeartor 关键字重载 实验
- 静态代码块,非静态代码块,构造函数,普通方法执行顺序
- 面向对象final关键字
- 黑盒算法识别-设计