多线程代码示例
//自定义类Multithreading 实现 Runnable
public class Multithreading implements Runnable{
public int i=1;
public Multithreading(int i) {
this.i = i;
System.out.println("入参i:"+i);
}
@Override
public void run() {
try {
System.out.println("输出1");
Thread.sleep(10000);
//关键字synchronized可以保证在同一时刻,只有一个线程可以执行某个方法或某个代码块
synchronized (Multithreading.class) {
System.out.println("输出2");
Thread.sleep(10000);
if(CheckFile(i)){
System.out.println("i-奇数");
}else{
System.out.println("i-偶数");
}
++i;
System.out.println("++i:"+i);
}
} catch (Exception e) {
// TODO: handle exception
}
}
private boolean CheckFile(int i){
boolean tag=false;
if(i%2 == 1){//i-奇数
tag = true;
}else {//i-偶数
tag = false;
}
System.out.println("tag:"+tag);
return tag;
}
}
``
//调用测试
public void test() {
new Thread(new Multithreading(1)).start();
new Thread(new Multithreading(2)).start();
new Thread(new Multithreading(3)).start();
}