实现线程的两种方式

来源:互联网 发布:数据库范式举例 编辑:程序博客网 时间:2024/05/20 13:09

      实现线程的两种方式:继承Thread类和实现Runnable接口。

      两种方式差异:实现Runnable接口避免单继承的局限性。

     

      继承方式案例:

package com.neutron.thread.demo;/** * 继承方式 * 1.继承Thread类 * 2.重写Thread的run方法,将自定义的方法存储在run方法中 * 3.调用线程的start方法,启动线程,调用run方法 *  * 多个线程取得cpu的执行权,cpu执行到谁,谁就运行。多线程具有随机性,谁抢到就执行谁,执行时间不确定。 * Thread类用于描述线程,run方法用于存储线程要执行的代码。 * @author zhanght * */public class Ticket extends Thread {private static int ticket = 15;@Overridepublic void run() {while(true) {if (ticket > 0) {System.out.println(this.getName() + " " + ticket--);}}}public static void main(String[] args) {Ticket ticket = new Ticket();Ticket ticket2 = new Ticket();Ticket ticket3 = new Ticket();ticket.start();ticket2.start();ticket3.start();}/* *  Thread-1 15    Thread-2 14    Thread-0 14    Thread-2 12    Thread-2 10    Thread-2 9    Thread-2 8    Thread-2 7    Thread-2 6    Thread-1 13    Thread-2 5    Thread-0 11    Thread-2 3    Thread-1 4    Thread-2 1    Thread-0 2 */}
       实现接口方式:

package com.neutron.thread.demo;/** * 1.定义类实现Runnable接口 * 2.重写Runnable接口中的run方法,将线程要运行的代码放在该run方法中。 * 3.通过Thread类建立线程对象 * 4.将实现Runnable接口的子类对象作为实际参数传递给Thread类的构造方法中。 *   要想线程执行指定对象的run方法,那么该对象必须实现Runnable接口 * 5.调用Thread类的start方法,开启线程并且调用实现Runnable接口对象的run方法。 * @author zhanght * */public class Tickets implements Runnable {private int ticket = 30;@Overridepublic void run() { while (true) { if (ticket > 0) { System.out.println(Thread.currentThread().getName() + " " + ticket--); } }}public static void main(String[] args) {Tickets t1 = new Tickets();new Thread(t1).start();new Thread(t1).start();new Thread(t1).start();}/* *  Thread-0 30Thread-0 29Thread-0 28Thread-0 27Thread-0 26Thread-1 25Thread-1 23Thread-1 22Thread-1 21Thread-1 20Thread-1 19Thread-1 18Thread-1 17Thread-1 16Thread-1 15Thread-1 14Thread-1 13Thread-1 12Thread-1 11Thread-1 10Thread-1 9Thread-1 8Thread-1 7Thread-1 6Thread-1 5Thread-1 4Thread-1 3Thread-1 2Thread-1 1Thread-0 24 */}
         

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 两个月婴儿缺锌怎么办 婴儿天热出汗多尿少怎么办 婴儿5个月不主动抓东西怎么办 打疫苗吃了辣怎么办 四个月宝宝枕秃怎么办 四个月的孩子缺钙怎么办 小孩张牙齿会发烧怎么办 对节白蜡叶子干了怎么办 刷机字库坏了怎么办 魅蓝返回键失灵怎么办 牙蛀严重且牙根松动怎么办 蛀牙伤到神经了怎么办 给客户发错邮件怎么办外贸 cf没有枪声和脚步声怎么办 穿越火线fps太低怎么办 win10玩cf没有声音怎么办 儿子死了欠的钱怎么办 儿子欠银行的钱怎么办 惹了社会上的混混怎么办 我是五年级惹上混混怎么办 孩子挨欺负家长怎么办幼儿园 孩子被同学欺负不敢上学怎么办 孩子被欺负不敢还手怎么办 2个月的婴儿内热怎么办 孩子把别人打了怎么办 学生在学校被打怎么办 妈和老丈人搞外遇怎么办? 丈人住在双方出资房中怎么办 金木水火土缺水怎么办? 练太极注意不集中怎么办 白色裙子被染色了怎么办 两边的头发向外翘怎么办 感冒的前兆来了怎么办 压腿把筋拉伤了怎么办 压腿压不下去了怎么办 床的气压杆坏了怎么办 床打开压不下去怎么办 裤子大了怎么办小窍门 小孩不准守课堂纪律怎么办 学生在学校体育课受伤怎么办 手指被篮球砸肿了怎么办