java---多线程(补充)

创建多线程(运用匿名内部类)

public class Test{
	public static void main(String[]args){
		new Thread(){
			public void run(){
				System.out.println("123");
			}
	}.start();
		new Thread(){
			public void run(){
				System.out.println("456");
				show();
			}
			public void show(){
				System.out.println("789");
			}
		}.start();
}
}
//至于最后用callable与future来创建,大家可以在网上查询,我就不再演示了(其实是我自己也不会)。

锁机制
java提供了一种内部的锁机制来支持原子性。
我通过讲解与度娘了解到的锁机制一共包含15中,我就拿其中一个来举例子吧

/**
* Synchronized   线程同步锁。(互斥锁)
*/
public class SynchronizedDemo{
	final Synchronized test = new Synchronized();
	//运用匿名内部类来创建多线程
	new Thread(){
		public void run(){
			Synchronized(test){
				System.out.println(test.name+"---start---");
				try{
					Thread.sleep(5000);
				}catch(Exception e){
					e.printStackTrace();
				}
				System.out.println(test.name+"---end---");
			}
		}
	}
	new Thread(){
		public void run(){
			Synchronized(test){
				System.out.println(test.name+"---start---");
				try{
					Thread.sleep(5000);
				}catch(Exception e){
					e.printStackTrace();
				}
				System.out.println(test.name+"---end---");
			}
		}
	}
}
//输出结果
jack---start---
jack---end---
jack---start---
jack---end---

对象锁,同一时间只保证 一个线程访问方法或变量。
所以,输出不可能是

jack---start---
jack---start---
jack---end---
jack---end---

多线程之间的协调运作
通过wait,notify,notifyAll来调控。
如果条件不满足,则等待。当条件满足时,等待该条件的线程将被唤醒。在Java中,这个机制的实现依赖于wait/notify。等待机制与锁机制是密切关联的。
今天就到此结束,谢谢浏览。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值