java多线程

1.当使用synchronized(this)的时候,同一实例在同一时刻只能有一个synchronize方法执行,所以某个线程在执行自己所属实例的某个同步方法的时候,其他线程不能执行该实例的任何同步方法。但是非同步方法没有这个限制。不同实例的同步方法是可以不同线程同时执行的。要想同一个实例的两个同步方法可以同步执行可以不用synchronized(this),可以用不同的锁对象。

2,。try代码块可以没有catch块有finally块。

3.复杂的锁lock机制,可以用专门一个锁类来实现。例子:http://wenku.baidu.com/view/469a16ea5ef7ba0d4a733b0b.html,java多线程设计模式。

4.semaphore相当于操作系统的信号量,分为两种:1.单值的,即只能有一个线程访问共享资源,2.多值的,可以有多个资源访问资源,用acquire方法使信号量减一,release方法信号量加一,构造函数的布尔值表示是否是公平的模式,公平模式指的是排队线程安装先来先服务的方式得到共享资源。

5.countdownlatch是一个同步操作,等待指定数量的线程执行完毕后,当前线程才接着向下运行。

6.CyclicBarrier  :http://www.cnblogs.com/whgw/archive/2011/09/29/2195669.html

7.concurrent包:http://www.docin.com/p-318385327.html

8.如磁盘或者网络设备等io操作都是独立于cpu的,可以将这些操作做成多线程并发,充分利用cpu。

9多线程的应用场景:1.web服务,2.大数据计算;3.io操作,4.模拟程序,5.gui程序  等等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值