package com.aaa;//public class Ticket extends Thread{ //1.当主线程发现这个类的对象继承了Thread后,就会开一个新的线程让其执行
public class Ticket implements Runnable{ //1.实现runnablepublic void run(){//2.重写该方法for(int i = 1;i < 50000 ;i++){try {Thread.sleep(100);//哪个线程运行这个方法,那个线程就会sleep掉,醒来后并不是马上执行,而是//等到CPU执行到自己,所以sleep时间可能会超过这个时间} catch (InterruptedException e) {// TODO Auto-generated catch block
                e.printStackTrace();}Thread.yield();//哪个线程运行这个方法时,就会暗示CPU自己已经运行完成了,可以将时间片交给其它的线程System.out.println(Thread.currentThread().getName()+"   "+i);}}/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stub//得到主线程:
        System.out.println(Thread.currentThread().getName());
//        Ticket t1 = new Ticket(); //继承Thread的写法
//        Ticket t2 = new Ticket();Thread t1 = new Thread(new Ticket()); //实现runnable接口的写法Thread t2 = new Thread(new Ticket());t1.setDaemon(true);t2.setDaemon(true);//设置t1,t2为后台线程,垃圾回收也是后台线程t1.setPriority(1);//最高级别//默认是5t2.setPriority(10);//最低级别//如果你期望某一个线程运行的更快些,或者更快完成,可以设置优先级更高一些,就可能得到更多的CPU运行时间(并不绝对)t1.start();//3.用start()来调用run方法
        t2.start();for(int i = 0 ;i<100 ;i++){try {System.out.println("主线程"+i);Thread.sleep(100);} catch (InterruptedException e) {// TODO Auto-generated catch block
                e.printStackTrace();}}System.out.println("------------------------------------------------全部完成---------------");//主线程的代码运行完成之后我们发现t1,t2继续运行,主线程将继续等待t1,t2完成,因为t1,t2是前台线程//当t1,t2设置为后台线程后,主线程代码一旦完成,就会停止一切后台线程的运行
    }}

转载于:https://www.cnblogs.com/zousheng7018/archive/2012/10/19/2730827.html

线程Thread,Runnable相关推荐

  1. java 线程 Thread Runnable 实现样例

    1: /**  * Thread  实现多线程样例(可继承)  */ public class ThreadImplementsTest implements Runnable{     public ...

  2. 【转】java线程系列---Runnable和Thread的区别

    在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口:Thread类是在java.lang包中定义的.一个类只要继承了Thread类同时覆写了本类中的run() ...

  3. 线程的创建与启动——Thread 类有两个常用的构造方法:Thread()与 Thread(Runnable)||多线程运行结果是随机的

    线程的创建与启动 在 Java 中,创建一个线程就是创建一个 Thread 类(子类)的对象(实例). Thread 类有两个常用的构造方法:Thread()与 Thread(Runnable).对应 ...

  4. 【Java线程】Thread Runnable必知必会

    1.Java中线程的创建有两种方式: 通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中; 通过实现Runnable接口,实例化Thread类; (1).继承Threa ...

  5. Java多线程——Thread Runnable源码解析

    Java多线程的两种实现方法大家都应该知道了:继承Thread的子类实例化和实现Runnable接口用这个接口实现类去创建Thread实例. Java的线程在Linux平台上使用的是NPTL机制,JV ...

  6. java 线程 Thread 使用介绍,包含wait(),notifyAll() 等函数使用介绍

    (原创,转载请说明出处!谢谢--http://www.cnblogs.com/linguanh/) 此文目的为了帮助大家较全面.通俗地了解线程 Thread 相关基础知识! 目录: --线程的创建: ...

  7. 并发基础篇(六):线程Thread类的start()方法和run()方法

    点个赞,看一看,好习惯!本文 GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了 3 个月总结的一线大厂 Java 面试总结,本 ...

  8. Android 线程 thread 两种实现方法!

    这篇文章中有三点需要提前说明一下, 一: 在android中有两种实现线程thread的方法: 一种是,扩展java.lang.Thread类 另一种是,实现Runnable接口 二: Thread类 ...

  9. Java核心(一)线程Thread详解

    一.概述 在开始学习Thread之前,我们先来了解一下 线程和进程之间的关系: 线程(Thread)是进程的一个实体,是CPU调度和分派的基本单位. 线程不能够独立执行,必须依存在应用程序中,由应用程 ...

最新文章

  1. 斗米客户端的架构思想
  2. git 命令行使用(基础篇)
  3. BOOL 值在 debug 和 release 模式下初始化不一样!!!
  4. linux学习网站分享
  5. promolike原型开发前后台打通
  6. 面试题40:数组中只出现一次的数字
  7. js基础--变量、数据类型、循环、判断、函数定义
  8. vmware 无权输入许可证密钥
  9. AB PLC仿真过程
  10. 小刘同学的第六十一篇博文
  11. 74HC08四路2输入与门
  12. SQL宝典(中文版) 高清PDF版下载
  13. GitHub下载 无法分配请求的地址_Hexo+Github--搭建个人博客(一)准备工作amp;amp;环境搭建
  14. 2023年美赛C题Wordle预测问题二建模及Python代码详细讲解
  15. Linux环境C语言开发基础
  16. Python实现孤立森林(IForest)+SVR的组合预测模型
  17. [数读]从开户数看这一波牛市
  18. ACM数论----秦九昭算法
  19. 大三学生——要不要上研究生?
  20. 最近用到ListView需要几人人物,于是整理了下以前看的玄幻小说人名,时间不够,只整理了几本,凑合用着 1》诛仙

热门文章

  1. LYNC显示用户位置的相关配置
  2. 修改mdev配置支持SD卡自动挂载
  3. 解决mysql“Access denied for user root@localhost”
  4. 23种设计模式(下)
  5. http请求 get 与 post 区别
  6. ARM--MDK5 Software Packs下载
  7. CTFshow 命令执行 web56
  8. 5.7 matlab数据插值与曲线拟合的比较
  9. rat/rats--用有理数形式表示矩阵
  10. MATLAB 图像函数(第五章) 图像空间变换和图像配准