实现线程的第二种方法:实现了Runnable接口

原创 2018年04月15日 19:46:52
public class ThreadTest3
{
public static void main(String[] args)
{
Thread  t1=new Thread(new ResourceTest());
Thread t2=new Thread(new ResourceTest());
t1.start();
t2.start();
}
}
class ResourceTest implements Runnable
{
int temp=0;
public void run()
{
while (true)
{
System.out.println("temp"+temp++);
try
{
Thread.sleep(100);
} catch (InterruptedException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}

if (temp==20)
{
break;
}
}
}

}


输出:

temp0
temp0
temp1
temp1
temp2
temp2
temp3
temp3
temp4
temp4
temp5
temp5
temp6
temp6
temp7
temp7
temp8
temp8
temp9
temp9
temp10
temp10
temp11
temp11
temp12
temp12
temp13
temp13
temp14
temp14
temp15
temp15
temp16
temp16
temp17
temp17
temp18
temp18
temp19

temp19

如果把main方法中的

Thread  t1=new Thread(new ResourceTest());

Thread t2=new Thread(new ResourceTest()); 这两行代码换成

ResourceTest rt=new ResourceTest();
Thread  t1=new Thread(rt);

Thread t2=new Thread(rt);的话,输出不是重复的,如果有重复,说明操作系统是双核的,在单核操作系统中,线程是没有意义的,

注释:上面两种情况之下输出为顺序的,是因为temp变量是全局变量,如果是局部变量的话,就会出现乱序,还有,如果没有sleep方法延迟的话,也会出现一点乱序,因为线程是不可控的,如果没有时间限制,有一些后面的线程可能会提前发生

线程的实现(通过实现Runnable接口启动线程)

线程的实现(通过实现Runnable接口启动线程)
  • wangyanming123
  • wangyanming123
  • 2016-04-06 16:46:18
  • 5532

使用Runnable接口实现线程

使用Runnable接口实现线程本质上使用了静态代理 故重点有以下几步: 1.实现一个线程类并继承Runnable接口,重写runfangfa 2.使用时牢记静态代理的关键3点  一是创建真实角色  ...
  • qq_28007533
  • qq_28007533
  • 2016-04-21 21:00:08
  • 661

实现Runnable接口的线程使用

实现runnable接口的多线程主要实现以下几步: 1.定义实现Runnable接口  2.overwrite Runnable接口中的run方法,将线程要运行的代码存放在run方法中...
  • sxh_ws
  • sxh_ws
  • 2015-06-26 17:51:49
  • 505

java多线程之实现Runnable接口创建线程

实现Runnable接口创建线程类步骤如下: 1.创建实现Runnable接口的实现类 2.重写Runnable接口的run()方法 3.创建实现类的线程对象 4.将线程对象作为Thread的arge...
  • inspiredbh
  • inspiredbh
  • 2017-02-10 21:29:37
  • 342

多线程实现方式---实现Runnable接口

多线程实现方式---实现Runnable接口 多线程实现方式---实现Runnable接口 一个类如果需要具备多线程的能力,也可以通过实现java.lang.Runnable接口进行实现。按照...
  • chen_shiqiang
  • chen_shiqiang
  • 2016-05-05 11:00:06
  • 4104

多线程(创建线程-实现Runnable接口)

/* 需求:简单的卖票程序。 多个窗口同时买票。 创建线程的第二种方式:实现Runable接口步骤: 1,定义类实现Runnable接口 2,覆盖Runnable接口中的run方法。 将线程要...
  • wangnanwlw
  • wangnanwlw
  • 2015-10-13 12:04:26
  • 405

Java实现Runnable接口方式实现多线程的优势

1.继承Threadpackage com.test.thread;public class TicketThread1 extends Thread { private int ticket...
  • RichieZhu
  • RichieZhu
  • 2016-01-28 14:23:00
  • 1552

java多线程简单小例子2——实现Runnable接口

/** * 实现Runnable接口的类 * * @author */ public class DoSomething implements Runnable { private S...
  • u011402596
  • u011402596
  • 2015-03-25 00:32:56
  • 1676

Java多线程实用篇之实现Runnable接口,简单的线程池。

package cn.com.jd.test.volatiletest; import java.util.concurrent.CountDownLatch; import java.util.c...
  • shasiqq
  • shasiqq
  • 2016-11-22 17:41:44
  • 1363

JAVA 实现Runnable接口实现多线程

实现Runnable接口实现多线程 如果一个类继承了某一个类时,同时有想要采用多线程的技术。就不能是Thread类生产线程了。因为Java不允许使用多线程,这是嘛。就要用Runnable接口来创建线...
  • ZSS1753936255
  • ZSS1753936255
  • 2016-10-23 22:19:32
  • 1618
收藏助手
不良信息举报
您举报文章:实现线程的第二种方法:实现了Runnable接口
举报原因:
原因补充:

(最多只允许输入30个字)