java多线程那些事

多线程那些事

0.多线程实现两种方式:
<1>.new Thread(
public void run(){
//anything u want do;
}
).start();
<2>.new Thread(
new Runnable(){
public void run(){
//look up;
}
}
).start();

推荐第二种,面向对象,你懂的

1.synchronzied加谁身上锁住谁,你懂的,而且还是个悲观锁,但是确实能解决多线程同步问题,就是效率问题···

2.ThreadLocal类,为每个子线程提供一个副本,是个好东东

3.多线程共享数据,封装到一个大对象比较好吧,然后每个任务都引用到大对象,记得读写时加锁(需要的时候)···

4.原子性操作类–CAS原理,多线程共享数据时,建议使用

5.线程并发库,把一些任务(实现了Runnable接口的类)扔到线程池里去执行,当然这个优越性前提是大牛已经把最困难的解决了···

6.Callable 和Future,把任务完成后的状态显示出来

7.Lock 锁,其实就是操作系统中的信号量,好没意思,但是人家是面向对象出身

8.欢迎补充

标签