java调度模型及优先级,java线程初级总结一

1.多线程概念

程序:计算机指令的集合,是一段静态的代码,还有指令和数据的文件。

进程:进程是程序一次动态执行的所有过程,进程包括运行中的程序和程序所使用到的内存和系统资源。

线程:线程是程序中的一个执行流,每个线程都有自己的专有寄存器,但内存单元是共享的,即不同的线程可以执行同样的函数。

并发编程:指由若干个可同时执行的程序模块组成程序的程序设计方法。这种可同时执行的程序模块就是进程。

2.为什么使用多线程

在java多线程模型中,多个线程共存于同一块内存中,且共享资源,线程之间的通信非常容易。

java程序可以并行处理,很大提高了程序的效率以及功能。

3.java线程的模型抢占式调度模型

线程调度程序挑选线程时,将选择处于就绪状态且优先级最高的线程。

如果多个线程具有相同的优先级,它们将被轮流调度。

4.java线程优先级      优先级是从0到10的整数,并且它仅表示线程之间的相对关系;

当多个线程并行执行时,具有较高优先级的线程将获得较多的CPU时间片;

Thread类包含的常量有:

1. public static final int MAX_PRIORITY: 最大优先级,值是10。

2. public static final int MIN_PRIORITY:  最小优先级,值是1。

3. public static final int NORM_PRIORITY:缺省优先级,值是5。

5.主线程      java中建立了一个类,当运行到该类的时候,java虚拟机自动创建一个一个线程调用main函数,这就是它的主线程。

6.建立线程     当一个Thread类或其子类的对象被声明冰箱被创建时。此时它已经有了相应的内存空间和其他资源,但是并没有开始执行它内部的代码。

void run():用该方法来执行线程。

void start():开始执行run部分的代码。

static void sleep(long millis)throws InterruptedException:将可运行对象置为休眠状态,休眠时间为指定的毫秒。

e3368d587e0bd1d28db33a6728af06f2.png

7.如何知道线程是否已经结束     可以调用isAlive()这个方法来判断:isAlive方法可以返回线程的状态,若true则线程处在可运行或不可运行状态; 若false则线程处在新创建或死亡状态。

还有join()方法,它会等待线程结束。相当于下面的语句:

while(thread.isAlive())   {

try   {

thread.sleep(10);

}   catch   (InterruptedException   e)   {

}

}

8.动画实现

创建多个Thread类或其子类的对象,循环开始start(),然后在run()函数中实现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值