当前位置: 首页 > news >正文

制作网站的钱哪里做公司网站比较好

制作网站的钱,哪里做公司网站比较好,长沙斌网网络,摄影设计方案这里是Themberfue 上节主要讲完了多线程的一些基础知识,这节通过代码进一步理解多线程🫡 多线程 Java标准库中提供了Thread类,以程序员们编写多线程代码,我们可以查看官方文档进一步了解Thread的特性以及提供的接口。 类似于Sy…

这里是Themberfue 

 上节主要讲完了多线程的一些基础知识,这节通过代码进一步理解多线程🫡


多线程

 · Java标准库中提供了Thread类,以程序员们编写多线程代码,我们可以查看官方文档进一步了解Thread的特性以及提供的接口。

· 类似于Sytem类,Math类以及某些超类等,Thread也是Java.lang在包下,是程序运行时默认导入的。

 Java8官方文档


Thread 

下面我们通过编写代码,来进一步感受和学习多线程。

class MyThread extends Thread{@Overridepublic void run() {while (true) {System.out.println("Hello Thread");try {Thread.sleep(1000);} catch (InterruptedException e) {throw new RuntimeException(e);}}}
}public class Demo1 {public static void main(String[] args) throws InterruptedException{Thread t = new MyThread();// 创建一个新的线程t.start();// 实际上没有创建一个新的线程,还是只存在一个main线程// t.run();while (true) {System.out.println("Hello main");Thread.sleep(1000);}}
}

· 我们先通过创建 MyThread 类来编写,这个类继承了 Thread,并且重写了 Thread类的 run 方法

· run 方法里的代码逻辑就是这个线程的所要运行的代码逻辑

· 随后通过 start 方法来真的创建一个线程,使其运行起来。

· 需要注意的是:单纯地调用 run 方法是没有真正创建一个线程地,只有调用 start 方法才是真的创建一个线程

· 上述代码中,我们让 main 线程(一个进程至少要包含的那个线程,主线程),和Thread线程执行相同的代码逻辑,我们来看看运行的结果。

PS:这里的Thread.sleep(1000),是让线程休眠一秒,让当前的线程暂时放弃CPU,时间过了之后再度执行后续的代码

 

 · 不难看出,main和我们创建的线程是同时执行代码逻辑的。

· 但它们的执行顺序是随机的,这与操作系统的随机调度有关,我们程序员是不能干涉的。

· 唯一可行的就是设置某个线程的优先级,但也仅仅是让其更可能的先执行,调度本质上还是随机的。


 jconsole

· jconsole 是JDK中提供的一个工具,可以用来查看线程的一些信息以及运行状态。

· 它通常在JDK里的bin目录里

 我们在程序运行后,打开jconsole

记住,一定要在程序运行时,才能看到 Demo1这个,当然我的这个叫Demo1,你们的就不一定了。

点击连接,就可以进去查看信息了。 

我们点击线程这个tab栏 

在左下侧,我们可以看到有很多线程,在这些线程中,除了 main 和 Thread-0 以外,都是 JVM 内置的线程,启动的任何一个Java进程,都会自带这些线程 

 

点击对应的线程,我们可以查看其中的一些信息


Runnable

· 除了直接提供 Thread 类创建线程以外,在Thread类的构造方法中,可以传入一个实现了Runnable 接口的类

· Runnable 本质就是一个任务,一段要执行的逻辑

· 线程中所做的任务,在 Runnable 里编写,然后传入创建的线程去执行。

· 上述的办法看起来有点麻烦,其实不然,这样写是非常推荐的!!!这样可以让要执行的任务本身和线程这个概念,脱离起来,也就是解耦合。

· 如果后续要让其他线程同样执行这段逻辑,也就不用重写一段相同的逻辑了。

class MyRunnable implements Runnable{@Overridepublic void run() {while (true) {System.out.println("My Thread");try {Thread.sleep(1000);} catch (InterruptedException e) {throw new RuntimeException(e);}}}
}public class Demo2 {public static void main(String[] args) throws InterruptedException {MyRunnable runnable = new MyRunnable();Thread t = new Thread(runnable);// 创建一个新的线程t.start();while (true) {System.out.println("My main");Thread.sleep(1000);}}
}

本节的讲解就到这里,希望你我都有所收获🫡🫡🫡

下一节我们会更进一步的讲解多线程的知识以及代码编写

毕竟不知后事如何,且听下回分解

 

http://www.yayakq.cn/news/668028/

相关文章:

  • 建设环保网站的目的与功能分析h5微场景制作软件
  • 网站建设工作总结做外贸的社交网站有哪些
  • 广州十度网络网站开发最好设计师 网站
  • 有什么正规的网站做代加工济南注册公司怎么注册
  • 建设实木餐桌椅移动网站如何做彩票网站推广图
  • 网站打开速度慢是否需要升级带宽手机版网站制作
  • 建站工具word稻壳企业网站模板
  • 网站建设与维护的实训总结网站开发商城1688
  • 广州自助网站设计平台网络营销的三种方式
  • 找论文的免费网站净水设备 技术支持 东莞网站建设
  • 做设计有必要买素材网站会员吗网站建设费用计入什么科目
  • 小鱼儿外贸网站公众号开发者密码怎么启用
  • 西宁做网站最好的公司哪家好海城网站制作
  • 新网站怎样做好外链自做淘宝客网站
  • 博物馆网站页面设计说明影视投资销售怎么找客户
  • 大学生帮别人做网站专业网站推广服务咨询
  • 做网站需要看的书男人直接做的视频网站
  • 网站建设的主要工作消除wordpress
  • 文书写作网站汽车营销活动策划方案
  • 青岛网站开发学校唐山哪里建设网站好
  • 网站设计客户端网站建设的方案
  • 商贸有限公司网站建设a5站长平台
  • php网站建设自我总结如何快速学会做网站
  • 网站建设思路网站建设中 模板 下载
  • 手机端网站优化怎么做具有价值的响应式网站
  • 上门做网站哪家好宝塔 wordpress
  • 上海免费网站建设模板推荐湖南百度推广
  • 商城网站功能西安做网站云速网络
  • 网站建设费用 无形资产即墨网站开发公司
  • 网站引导页分为三个板块设计风格怎么制定网站