多进程的作用不是提高执行速度,而是提高cpu的使用率。
多线程的作用不是提高执行速度,而是提高应用程序的使用率。
新建——>就绪——>运行——>消亡
新建
run方法执行不需要手动调用,系统线程启动之后自动调用run方法
package ThreadDemo;
public class CreateThreadDemo {
//main方法结束
public static void main(String[] args) {
Thread t2 = new Thread(new create2());
//这段代码执行瞬间结束,告诉jvm再分配一个新的栈给t2线程
t2.start();
//run方法执行不需要手动调用,系统线程启动之后自动调用run方法
for (int i = 0; i < 10; i++) {
System.out.println("main-->"+i);
}
}
}
class create2 extends Thread{
//重写run方法
public void run() {
for (int j = 0; j < 10; j++) {
System.out.println("run-->"+j);
}
}
}
让位——yield
- yield()是一个静态方法
- 给同一个优先级的线程让位,和sleep相同,但让位的时间不固定。
package ThreadDemo;
/*
* yield()是一个静态方法
* 给同一个优先级的线程让位,和sleep相同,但让位的时间不固定。
*/
public class YieldDemo {
public static void main(String[] args) {
Thread t = new Thread(new pro());
t.setName("t");
t.start();
for (int i = 0; i < 100; i++) {
System.out.println(Thread.currentThread().getName()+"-->"+i);
}
}
}
class pro implements Runnable{
@Override
public void run() {
for (int i = 0; i < 100; i++) {
System.out.println(Thread.currentThread().getName()+"-->"+i);
if (i%20==0) {
Thread.yield();
}
}
}
}












网友评论