请说出你所知道的线程同步的方法。

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【ruindays】截止到2008-06-29 04:40:16的历史汇总数据(不包括此帖):
    发帖数:1                  发帖分:100                
    结贴数:0                  结贴分:0                  
    未结数:1                  未结分:100                
    结贴率:0.00  %            结分率:0.00  %            
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
      

  2.   

    這個看API好啦~
    誰記得那麼多啊~
      

  3.   

     2 楼 JakkySky 兄厉害,
    学习
      

  4.   

    线程同步是指synchronized也就是加锁
    可以给资源加锁例如   synchronized(目标资源){执行的语句}
    但是加锁会带来死锁问题  解决办法由两种 一中是wait()notfiy() 另一种是ThreadLocal 
    ThreadLocal 是把发生共享冲突的资源给每个需要的线程拷贝一份 线程结束后再影响到原资源
      

  5.   

    synchronized,
    wait sleep notify notifyAll
      

  6.   

    1. 用 synchronized 修饰需要同步的方法
    2. 用 synchronized 块包围需要同步的语句
    3. 使用 java.util.concurrent 包中的各种同步锁
    ......
      

  7.   

    线程状态:
    1,新建状态:线程对象已经被建立,但是还没有启动。
    2,课运行状态:线程在等待池中。
    3,被阻塞状态:线程被其他线程阻塞、
    4,阻塞状态:调用了sleep()方法或者调用了wait()方法
    5,死亡状态:从run()方法火其他方式返回时,或者杀死线程后。线程的优先级分为[1-10]个级别,不设定的话默认为5
    通过getPriority()和setpriority()方法来获得和修改线程的优先级。
    中断线程用Interrupt
    void interrupt()方法,是中断线程,中断状态位true
    static boolean interrupt()方法,是将中断线程的状态设为false
    boolean interrupt()是检查中断状态
    static Thread currentThread()是获得当前线程
    isAlive()是看线程是否终止线程的调度:
    sleep()是使当前线程停止运行一段时间
    yiled()是主动让出时间片,让其他线程运行,如果没有其他线程的时候继续执行,保证了CPU的持续运行
    join()是当前线程通过调用其他线程的join()方法来暂停本线程的执行,等待其他线程消亡后继续执行。线程的冲突:
    当线程共享同一个资源时,会发生线程冲突
    同步,能解决冲突使用synchronized()方法和synchronized语句每个类都有一个锁,每个对象也都有一个锁,这个锁是对象的一部分线程调用一个synchronized方法时,就获得了一个锁上锁时,将需要保证原子性(不可中断的线程)的部分锁起来,尽量缩小锁的范围。线程间的写作,等待与通知只能在同步块中使用wait()释放锁,线程回到等待池等待
    wait(millisec)同上,等待一定的时间
    notify()通知等待池内随机线程抢锁
    notifyAll()通知等待池内所有线程抢锁以上纯手工输入,望结分,谢谢。
    小弟刚学几天,也是菜鸟,希望今后多交流。
      

  8.   

    1,新建状态:线程对象已经被建立,但是还没有启动。 
    2,课运行状态:线程在等待池中。 
    3,被阻塞状态:线程被其他线程阻塞、 
    4,阻塞状态:调用了sleep()方法或者调用了wait()方法 
    5,死亡状态:从run()方法火其他方式返回时,或者杀死线程后。 
      

  9.   

    wait()-notify()/notifyAll();
    sleep();
    join();
      

  10.   

    interrupted(),wait(),sleep(),notify(),synchronized,synchronized{},
    yield(),join(),notifyAll()
    还有同步化集合类中的一大堆synchronizedXXXX();
    java.util.concurrent包在的一大堆