zoukankan      html  css  js  c++  java
  • 线程之Thread和Runnable

    Runnable:

    public class threadTest implements  Runnable{

    private AtomicInteger tickets = new AtomicInteger(3);
    public void run() {
    int ticketNum ;
    while((ticketNum = tickets.getAndDecrement())>0)
    {
    System.out.println(Thread.currentThread().getName()+" "+ticketNum);
    }
    }
    public class Test {
    public static void main(String[] args)
    {
    threadTest t = new threadTest();
    new Thread(t).start();
    new Thread(t).start();
    }
    }
    其中一次的结果为:

    Thread-0 3
    Thread-1 2
    Thread-0 1

    Thread:

    public class threadTest extends Thread{

    private AtomicInteger tickets = new AtomicInteger(3);
    public void run() {
    int ticketNum ;
    while((ticketNum = tickets.getAndDecrement())>0)
    {
    System.out.println(Thread.currentThread().getName()+" "+ticketNum);
    }
    }
    public class Test {
    public static void main(String[] args)
    {
    new threadTest().start();
    new threadTest().start();
    }
    }
    其中一次结果:

    Thread-1 3
    Thread-0 3
    Thread-1 2
    Thread-0 2
    Thread-1 1
    Thread-0 1

    在网上有看到说通过Runnable实现的线程能够共享资源,而继承Thread的线程不能共享资源。这个例子是说明这个问题吗?

  • 相关阅读:
    0x05 排序
    bzoj3032: 七夕祭
    0x04 二分
    bzoj2783: [JLOI2012]树
    bzoj3192: [JLOI2013]删除物品
    bzj1106: [POI2007]立方体大作战tet
    POJ2299Ultra-QuickSort
    POJ3080Blue Jeans
    POJ3253Babelfish
    POJ1611The Suspects
  • 原文地址:https://www.cnblogs.com/moxia1234/p/11397827.html
Copyright © 2011-2022 走看看