进程与线程的概念

线程的调度:

1分时调度

所有线程轮流使用CPU的使用权,平均分配每个线程占用CPU的时间;

2抢占式调度

优先让优先级高的线程使用CPU,如果线程的优先级相同,那么会随机选择一个(线程随机性),java使用的为抢占式调度;

主线程:执行主方法的线程main

单线程程序有弊端,中间错误则不能向下执行;

创建多线程的第一种方式:

package demo06;
//创建一个Thread的子类
public class demo01thread extends Thread{
public void run(){
for (int i=0;i<20;i++)
{
System.out.println("run"+i);
}
}
}
package demo06;
/*创建多线程的第一种方式,创建Thread类的子类
* java.lang.Thread类,是描述线程的类,我们想要实现多线程程序就必须继承Thread类
*
* 实现步骤:
* 1创建一个Thread类的子类
* 2在Thread类的子类中重写Thread类中的run方法,设置线程任务(开启线程要做什么?)
* 3创建一个Thread类的子类对象
* 4调用Thread类中的方法start方法,开启新的线程,执行run方法
* void start()使用该线程开始执行,java虚拟机调用该线程的run方法;
* 结果是两个线程并发地执行,当前线程(main线程)和另一个线程(创建的新线程执行其run方法)
* 多次启动一个线程是非法的,特别是当线程已经结束执行后,不能再重新启动;
*java程序属于抢占式调度,那个线程优先级高就优先 相同则随机
* */
public class demo06{
public static void main(String[] args) {
demo01thread mt=new demo01thread();
mt.start();
for (int i=0;i<20;i++)
{
System.out.println("main"+i);
}
}
}

猜你喜欢

转载自www.cnblogs.com/Damocless/p/11871904.html