002JAVA多个多线程同时竞争一个类实例方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了002JAVA多个多线程同时竞争一个类实例方法相关的知识,希望对你有一定的参考价值。

package com.skcc.mthread;

public class MyThread001 extends Thread {

private int count=4;

public MyThread001() {
    // TODO Auto-generated constructor stub
}

@Override
public synchronized void run() {
   count--;
   System.out.println(Thread.currentThread().getName() + " = " + count);
}

/***
 * 多个线程同时竞争MyThread001类实例对象及成员方法
 * 多个线程按照CPU分配时间顺序来执行,(t1到t4的执行顺序需参考CPU分配的顺序来定)
 * 
 * ****/
public static void main(String[] args) {
    // TODO Auto-generated method stub
    MyThread001 myThread = new MyThread001();

    Thread t1 = new Thread(myThread,"t1");
    Thread t2 = new Thread(myThread,"t2");
    Thread t3 = new Thread(myThread,"t3");
    Thread t4 = new Thread(myThread,"t4");

    t1.start();
    t2.start();
    t3.start();
    t4.start();
}

}

以上是关于002JAVA多个多线程同时竞争一个类实例方法的主要内容,如果未能解决你的问题,请参考以下文章

java多线程

多线程

Java多线程 synchronized 锁方法和块使用详解 锁竞争本质原理 只与锁对象有关与位置无关

Java+线程内部调用实例方法会多线程安全吗?

Java 多线程实现多个窗口同时卖票

java多线程理解及实现