public Thread()
public Thread(Runnable target)
public Thread(String name)
public Thread(Runnable target, String name)
public Thread(ThreadGroup group, Runnable target)
public Thread(ThreadGroup group, String name)
public Thread(ThreadGroup group, Runnable target, String name)
public static void main(String[] args){
RunnableA ra = new RunnableA();
Thread tA = new Thread(ra,"A");
Thread tB = new Thread(ra,"B");
tA.start();
tB.start();
}
/**
执行结果:
当前线程名称是 >>> A ,count为 >>> 10
当前线程名称是 >>> B ,count为 >>> 9
当前线程名称是 >>> A ,count为 >>> 8
当前线程名称是 >>> B ,count为 >>> 7
当前线程名称是 >>> A ,count为 >>> 6
当前线程名称是 >>> B ,count为 >>> 5
当前线程名称是 >>> A ,count为 >>> 4
当前线程名称是 >>> B ,count为 >>> 3
当前线程名称是 >>> A ,count为 >>> 2
当前线程名称是 >>> B ,count为 >>> 1
*/
【注:博主一直看不懂 wait() 后面说的,并且释放该线程所持有的锁,后面捋了一遍,我的简单粗暴的理解就是:好比有一个屋子,里面很多吃的,一群饿鬼在门外面抢着要进去吃东西,你抢先进去了,然后马上把门关上了,等你吃的差不多了,就要把门打开了。不能这么自私吧。栗子不是很恰当,反正意思就是说,一个线程使用wait()进入等待状态的时候,同时也会释放掉对当前锁的控制,让其他线程可以抢占到锁】
---------------------
转载,仅作分享,侵删
作者:小-虾米
原文:https://blog.csdn.net/qq_35188937/article/details/85290965