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

免费学编程的网站有哪些山东临沂建筑模板生产厂家

免费学编程的网站有哪些,山东临沂建筑模板生产厂家,wordpress全屏动画,wordpress做一个html登陆页目录 一、线程的定义 二、线程的实现 三、线程状态 程序并发执行多个任务 二、线程的实现 1、继承Thread类创建线程:通过继承Java的Thread类并重写其run()方法,可以创建一个新的线程。然后,通过调用线程的start()方法来启动线程&#xf…

目录

一、线程的定义

二、线程的实现

三、线程状态


程序并发执行多个任务

二、线程的实现

1、继承Thread类创建线程:通过继承Java的Thread类并重写其run()方法,可以创建一个新的线程。然后,通过调用线程的start()方法来启动线程,这将导致JVM调用线程的run()方法。注意,不应直接调用run()方法,因为这样只会作为普通方法调用,而不会启动新的线程。
2、实现Runnable接口创建线程:另一种创建线程的方式是实现Java的Runnable接口,并同样重写其run()方法。然后,可以创建一个Thread对象,并将Runnable对象作为参数传递给Thread对象的构造函数。最后,通过调用Thread对象的start()方法来启动线程。这种方式的一个优点是,一个类可以继承其他类并实现Runnable接口,从而实现多重继承的效果。

public class MyThread extends Thread {  @Override  public void run() {  // 线程执行的代码  for (int i = 0; i < 5; i++) {  System.out.println("MyThread running: " + i);  }  }  public static void main(String[] args) {  // 创建并启动线程  MyThread thread = new MyThread();  thread.start();  // 主线程继续执行  for (int i = 0; i < 5; i++) {  System.out.println("Main thread running: " + i);  }  }  
}
public class MyRunnable implements Runnable {  @Override  public void run() {  // 线程执行的代码  for (int i = 0; i < 5; i++) {  System.out.println("MyRunnable running: " + i);  }  }  public static void main(String[] args) {  // 创建Runnable对象  MyRunnable runnable = new MyRunnable();  // 创建Thread对象,并将Runnable对象作为参数  Thread thread = new Thread(runnable);  // 启动线程  thread.start();  // 主线程继续执行  for (int i = 0; i < 5; i++) {  System.out.println("Main thread running: " + i);  }  }  
}

三、线程状态

在Java中,线程可以处于多种状态,这些状态反映了线程在其生命周期中的不同阶段。Java线程状态的主要类型包括:新建(NEW)、就绪(RUNNABLE)、阻塞(BLOCKED)、等待(WAITING)、超时等待(TIMED_WAITING)和终止(TERMINATED)。下面是对这些状态的详细解释:

  1. 新建(NEW):当线程对象被创建但尚未启动(即尚未调用start()方法)时,线程处于新建状态。此时,线程对象已经分配了必要的内存和其他资源,但它还没有开始执行。

  2. 就绪(RUNNABLE):一旦线程启动(即调用了start()方法),它就进入了就绪状态。就绪状态的线程已经具备运行的所有条件,正在等待CPU的调度。当CPU空闲时,线程调度器会从就绪状态的线程中选择一个来执行。

  3. 阻塞(BLOCKED):当一个线程试图获取一个内部的对象锁(而不是java.util.concurrent库中的锁),而该锁被其他线程持有时,该线程会进入阻塞状态。当持有锁的线程释放锁时,阻塞状态的线程会进入就绪状态,等待CPU的调度。

  4. 等待(WAITING):当线程执行了对象的wait()方法时,它会进入等待状态。等待状态的线程不会占用CPU资源,它等待其他线程执行特定对象的notify()或notifyAll()方法来唤醒它。唤醒后,线程会进入就绪状态。

  5. 超时等待(TIMED_WAITING):这是线程等待的另一个状态,但带有超时参数。当线程执行了Thread.sleep(long millis)、Object.wait(long timeout)或Thread.join(long millis)等带有超时参数的方法时,它会进入超时等待状态。如果在指定的超时时间内没有被唤醒或超时结束,线程会结束等待,并返回到就绪状态。

  6. 终止(TERMINATED):当线程的run()方法执行完毕,或者因异常退出,线程就进入了终止状态。终止状态的线程不会再执行任何操作,它的生命周期已经结束。

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

相关文章:

  • 学习建站的网站wordpress tool
  • 千华网鞍山门户网站甘肃省建设工程安全质量监督管理局网站
  • asp绿色简洁通用型企业网站源码全国大型网站建设
  • 哪个网站可以做教师招聘题目佛山专业做网站的
  • 做网站的必要性外贸找客户有什么网站
  • 网站开发与运维面试问题手机版微网站
  • 绘制网站结构图好看的手机端网站开发页面
  • 下载了模板如何做网站wordpress网站如何播放视频
  • 门户网站功能清单做网站需要icp
  • 重庆网站建设哪家做的好wordpress 添加友情
  • 学校网站的建设目标是什么跨境网站开发
  • 山东做网站公司网站建设公司北京
  • 网站开发需求分析中性能需求济南网站微信
  • 旅游电子商务网站开发项目进度表重庆整站seo
  • 专业的网站建设价格网站分析设计做的项目的过程
  • 电脑自带的做网站叫什么Wordpress启动mysql
  • 手机网站建设 新闻怎么在自己的网站上传视频
  • 织梦网站模板后台密码找回wordpress 评论可见
  • 阜阳手机网站制作海口网站建设发布
  • 公司主页网站怎么做石家庄网站建设找哪家
  • 建设网站需要公司吗兰州大学网页与网站设计
  • 网站制作前必须做的事情有哪些简洁白wordpress瀑布
  • 企业邮箱地址怎么填wordpress分类设置seo
  • 婚恋网站 没法做简单的wordpress模板
  • 做平面设计的网站微信分销商城
  • 大连专业模板网站制作公司wordpress运行php文件下载
  • 网站开发导航oneup wordpress
  • 汕头食品骏域网站建设网站建设基础书籍
  • 网站制作公司怎么运营青岛正规的网站建设公司
  • 现在建网站可以赚钱吗视频素材网免费