java线程常用的几个方法
public class Threads2 {
public static void main(String[] args) {
}
private static void demo7() {
for (int i = 0; i < 10; i++) {
System.out.println("11111111111111");
}
Thread tm = new Thread() {
@Override
public void run() {
for(int i = 0; i < 10; i++) {
System.out.println("2222222222222222");
}
}
};
tm.setDaemon(true);
tm.start();
}
private static void demo6() {
Thread t1 = new Thread("klz"){
@Override
public void run() {
for(int i = 0; i < 10; i++) {
System.out.println("22222222222222");
}
}
};
Thread t2 = new Thread("t") {
public void run() {
for(int i = 0; i < 10; i++) {
System.out.println("5555555555555555555555555");
}
};
};
t2.setPriority(10);
t1.start();
t2.start();
}
private static void demo5() {
Thread t = new Thread() {
@Override
public void run() {
for(int i = 0; i < 100; i++) {
System.out.println(this.getName() + "aaa" + i);
}
}
};
Thread t2 = new Thread(){
public void run() {
for(int i = 0; i < 100; i++) {
if(i > 2) {
try {
t.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println("cccccccccc" + i);
}
};
};
t.start();
t2.start();
for(int i = 0; i < 100; i++) {
System.out.println("主线程第" + i +"次执行!");
if(i > 5) {
try {
t.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
private static void demo4() {
new Thread() {
@Override
public void run() {
for(int i = 0; i < 10; i++) {
if(i == 2) {
Thread.currentThread().yield();
}
System.out.println(this.getName() + "aaaa");
}
}
}.start();
for(int i = 0; i < 10; i++) {
System.out.println(Thread.currentThread().getName() + "bbbbb");
}
}
private static void demo3() {
new Thread() {
@Override
public void run() {
for(int i = 0; i < 10; i++) {
if(i == 3) {
try {
Thread.currentThread().sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println(this.getName() + "aaaa");
}
}
}.start();
for(int i = 0; i < 100; i++) {
System.out.println(Thread.currentThread().getName() + "bbbbbb");
}
}
private static void demo2() {
new Thread("klz") {
@Override
public void run() {
for(int i = 0; i < 100; i++) {
System.out.println(this.getName() + "aaa");
}
}
}.start();
Thread t = new Thread(){
public void run() {
for(int i = 0; i < 100; i++) {
System.out.println("cccccc"+this.getName());
}
};
};
Thread t2 = new Thread(new Runnable() {
@Override
public void run() {
for(int i = 0; i < 100; i++) {
System.out.println("ddd"+Thread.currentThread().getName());
}
}
});
t.setName("kz");
t2.setName("hello");
t.start();
t2.start();
for(int i = 0; i < 100; i++) {
System.out.println(Thread.currentThread().getName() +"bbbbbbbbbbbbbbb");
}
}
private static void demo1() {
new Thread(){
@Override
public void run() {
for(int i = 0; i < 100; i++) {
System.out.println(Thread.currentThread().getName() + "aaaa" + this.getName());
}
}
}.start();
for(int i = 0; i < 100; i++) {
System.out.println(Thread.currentThread().getName() +"bbbbbbbbbbbbbbb");
}
}
}