mysql的一些方法

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
线程:
  isLive();  测试线程是否处于活动状态。
   long getId()
          返回该线程的标识符。
     String getName()
          返回该线程的名称。      
  currentThread();   返回对当前正在执行的线程对象的引用。static Thread
  interrupt(); 中断线程。并不能中断线程,只是在线程内部打上一个中断标志。
  interrupted(); 测试当前线程是否已经中断。 static boolean 这个方法会消除中断标志。
  isInterrupted() ; 测试线程是否处于活动状态。void  这个方法不会。
  setName(String name) ; 改变线程名称,使之与参数 name 相同。
  yield() ; 暂停当前正在执行的线程对象,并执行其他线程。
  wait() ; 在其他线程调用此对象的 notify() 方法或 notifyAll() 方法前,导致当前线程等待。
  wait(long timeout)
          在其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者超过指定的时间量前,导致当前线程等待。
  wait(long timeout, int nanos)
          在其他线程调用此对象的 notify() 方法或 notifyAll() 方法,或者其他某个线程中断当前线程,或者已超过某个实际时间量前,导致当前线程等待。
  notify()
          唤醒在此对象监视器上等待的单个线程。
  notifyAll()
          唤醒在此对象监视器上等待的所有线程。
           
         wait()和sleep();
         wait()释放锁,sleep()不释放锁。
          
        wait()和interrupt();
        当一个线程处于等待状态时,用interrupt()方法可以消除等待。
         
        notify()和 notifyAll(); 
         notify()只能唤醒一个线程, notifyAll() 可以唤醒所有在等待的线程
            join()和sleep();
         
            //sleep传递的毫秒数   你一定要得到那么多毫秒
            //但是join不一定要等那么久   也有可能小   也有可能大
            //小的原因是  因为当前线程已经结节   就isAlive()为false;
            //大的原因是  因为执行join()需要获得对象锁      加入再此之前对象被其他线程所用
            //那么 想要运行join()  就要先等待锁
            //等待锁也需要时间
            //导致  时间不准确的原因
            //1,要考虑  当前线程是否还存活
            //2,此方法 要先获得到锁 才能开始执行
            //3,在方法的运行过程中   还有可能释放锁 

 

 

posted @   浪涛飞  阅读(147)  评论(0)    收藏  举报
点击右上角即可分享
微信分享提示