线程知识总结
线程创建
线程调度
1、调整现场优先级:Java线程有优先级,优先级高的线程获得较多的运行机会(运行时间);
static int Max_priority 线程可以具有的最高优先级,值为10;
static int MIN_PRIORIYT 线程可以具有的最低优先级,值为1;
static int NORM_PRIORITY 分配给线程的默认优先级,值为5;
Thread类的setPriority()和getPriority()方法分别用来设置和获取线程的优先级;
2、线程睡眠:Thread.sleep(long millins)使线程转到阻塞状态;
3、线程等待:Object.wait()方法,释放线程锁,使线程进入等待状态,直到被其他线程唤醒(notify()和notifyAll());
4、线程让步:Thread.yeild()方法暂停当前正在执行的线程,使其进入等待执行状态,把执行机会让给相同优先级或更高优先级的线程,如果没有较高优先级或相同优先级的线程,该线程会继续执行;
5、线程加入:join()方法,在当前线程中调用另一个线程的join()方法,则当前线程转入阻塞状态,知道另一个进程运行结束,当前线程再有阻塞状态转
线程类的一些常用方法
1)、sleep():强迫一个线程睡眠N毫秒;
2)、isAlive():判断一个线程是否存活;
3)、join():线程插队;
4)、activeCount():程序中活跃的线程数;
5)、enumerate():枚举程序中的线程;
6)、currentThread():得到当前线程;
7)、isDeamon():一个线程是否为守护线程;
8)、setName():为线程设置一个名字;
9)、wait():线程等待;
10)、notify():唤醒一个线程;
11)、setPriority():设置一个线程的优先级;