Java多线程

Java多线程

开发工具与关键技术:java java
作者:梁峻豪
进程:进程指正在运行的程序。确切的来说,当一个程序进入内存运行,即变成一个

进程,进程是处于运行过程中的程序,并且具有一定独立功能。

线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少
有一个线程。一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序。
什么是多线程呢?即就是一个程序中有多个线程在同时执行。

单线程程序:即,若有多个任务只能依次执行。当上一个任务执行结束后,下一个任务开
始执行。如,去网吧上网,网吧只能让一个人上网,当这个人下机后,下一个
人才能上网

多线程程序:即,若有多个任务可以同时执行。如,去网吧上网,网吧能够让多个人同时上网。

程序运行原理:
1:分时调度:
所有线程轮流使用 CPU 的使用权,平均分配每个线程占用 CPU 的时间。

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

如果在执行过程遇到循环时间比较长的代码,那么在循环之后的其他代码是不会被马
上执行的。如下代码演示:

若在上述代码中 show 方法中的循环执行次数很多,这时在 d.show();下面的代码是不会马上执行的,并且会看到不停的输出 name=A,i=值,这样的语句。

原因是:jvm 启动后,必然有一个执行路径(线程)从 main 方法开始的,一直执行到main 方法结束,这个线程在 java 中称之为主线程。当程序的主线程执行时,如果遇到了循环而导致程序在指定位置停留时间过长,则无法马上执行下面的程序,需要等待循环结束后能够执行。

Thread类
Hread是程序中的执行线程.java虚拟机允许应用程序并发地运行多个执行线程

创建线程的俩种方法:

一种方法是将类声明为 Thread 的子类。该子类应重写 Thread 类的 run 方法。创建对象,开启线程。run 方法相当于其他线程的 main 方法。

另一种方法是声明一个实现 Runnable 接口的类。该类然后实现 run 方法。然后创建 Runnable 的子类对象,传入到某个线程的构造方法中,开启线程。

创建线程方式一继承 Thread 类:
1 定义一个类继承 Thread。
2 重写 run 方法。
3 创建子类对象,就是创建线程对象。
4 调用 start 方法,开启线程并让线程执行,同时还会告诉 jvm 去调用 run 方法。

自定义线程类:

Ps: 线程对象调用 run 方法不开启线程,仅是对象调用方法。线程对象调用 start 开启线程,并让 jvm 调用 run 方法在开启的线程中执行。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值