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.欢迎补充

 

你可能感兴趣的:(java,多线程)