一、线程方法
1.睡眠线程
Thread.sleep(时间);临界资源 概念:一次仅允许一个进程使用的共享资源。
2.获取线程信息
Thread t1=Thread.currentThread();//获取main线程名字,优先级,线程组。
3.守护线程
t2.setDaemon(true);随着普通线程结束而结束。
4.线程优先级
setPriority(1——10);优先级
二、同步锁
多个线程同时运行同一方法,会发生并发问题,添加synchronized会使得线程排队调用。
下面只创建了一个实例化对象时,两个线程 t1,t2共同调用Boo类的方法mod1会有并发风险。
public class SyncDemo4 {
public static void main(String[] args) {
Boo boo=new Boo();
Thread t1=new Thread(){
@Override
public void run() {
boo.mod1();
}
};
Thread t2=new Thread(){
@Override
public void run() {
boo.mod2();
}
};
t1.start();
t2.start();
}
}
class Boo{
public synchronized void mod1(){
for (int i = 0; i < 10000; i++) {
System.out.println("111111111");
}
}
public synchronized void mod2(){
for (int i = 0; i < 10000; i++) {
System.out.println("222222222");
}
}
}
//1111111111
11111111111
11111111111
11111111111
2222222222
2222222222
2222222222
2222222222