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的线程不能共享资源。这个例子是说明这个问题吗?

  • 相关阅读:
    EnumMap实现类
    java enum
    openssl生成RSA公钥和私钥对
    rsa 公钥 私钥
    eclispe 通过git向码云上传
    eclipse git 报 git: 401 Unauthorized
    HttpClient 超时时间
    HttpClient 4 和 HttpClient 3 超时
    Java RSA 生成公钥 私钥
    万能适配器
  • 原文地址:https://www.cnblogs.com/moxia1234/p/11397827.html
Copyright © 2011-2022 走看看