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

惠山区住房和建设厅网站朋友圈网络营销

惠山区住房和建设厅网站,朋友圈网络营销,暂时没有域名怎么做网站,怎么减少wordpress网站cpu占用文章目录 1. 多线程基础1.1 线程的概念1.2 线程的生命周期 2. 创建线程的方式2.1 继承 Thread 类2.2 实现 Runnable 接口 3. 实践:编写简单多线程程序4. 总结与思考 1. 多线程基础 1.1 线程的概念 线程 (Thread): 程序执行的最小单元,一个进…

文章目录

  • 1. 多线程基础
    • 1.1 线程的概念
    • 1.2 线程的生命周期
  • 2. 创建线程的方式
    • 2.1 继承 Thread 类
    • 2.2 实现 Runnable 接口
  • 3. 实践:编写简单多线程程序
  • 4. 总结与思考

1. 多线程基础

1.1 线程的概念

  • 线程 (Thread): 程序执行的最小单元,一个进程中可以同时存在多个线程。多线程可以实现任务的并行执行,提高程序运行效率。
  • 线程与进程: 进程是程序的执行环境,而线程是进程内部的执行单元,多个线程可以共享进程内的资源(如内存、文件句柄等)。

1.2 线程的生命周期

线程从创建到终止大致有以下状态:

  • 新建(New):线程对象刚被创建,但尚未启动。
  • 就绪(Runnable):调用了 start() 1方法,等待操作系统调度分配 CPU 资源。
  • 运行(Running):线程获得 CPU 时间片,执行任务。
  • 阻塞/等待(Blocked/Waiting):线程进入等待状态(例如等待 I/O、等待其他线程通知)。
  • 终止(Terminated):线程执行完 run() 方法或因异常退出而结束执行。

2. 创建线程的方式

2.1 继承 Thread 类

  • 实现方式: 定义一个类继承 Thread,重写 run() 方法,将线程运行的业务代码写在 run() 中。
  • 特点:
    • 代码简单直观。
    • 由于 Java 只支持单继承,继承 Thread 后无法再继承其它类。
    • 适用于简单场景,或当你的类本身已经是个线程时。

2.2 实现 Runnable 接口

  • 实现方式: 定义一个类实现Runnable接口,并实现 run() 方法,将业务代码放入其中。
  • 特点:
    • 避免了单继承的限制,一个类可以同时实现多个接口。
    • 更适用于多个线程共享同一个任务,或任务需要与其他类进行逻辑组合。
    • 将任务与线程分离,提高代码的可复用性和灵活性。

3. 实践:编写简单多线程程序

下面的示例程序中创建了两个线程:

  • 一个通过继承 Thread 类的方式创建。
  • 一个通过实现 Runnable 接口的方式创建。
  • 两个线程在各自的 run() 方法中输出自己的标识信息,并循环输出简单信息。

示例代码

// MyThread.java
public class MyThread extends Thread {@Overridepublic void run() {// 模拟任务:循环输出线程信息for (int i = 0; i < 5; i++) {System.out.println("【继承Thread】线程名称:" + getName() + ",计数:" + i);try {Thread.sleep(300); // 暂停300毫秒} catch (InterruptedException e) {e.printStackTrace();}}}
}
// MyRunnable.java
public class MyRunnable implements Runnable {@Overridepublic void run() {// 模拟任务:循环输出线程信息for (int i = 0; i < 5; i++) {System.out.println("【实现Runnable】线程名称:" + Thread.currentThread().getName() + ",计数:" + i);try {Thread.sleep(300); // 暂停300毫秒} catch (InterruptedException e) {e.printStackTrace();}}}
}
// MultiThreadDemo.java
public class MultiThreadDemo {public static void main(String[] args) {// 方式1:继承 Thread 类MyThread thread1 = new MyThread();thread1.setName("线程-A");// 方式2:实现 Runnable 接口,传入 Thread 构造器中MyRunnable myRunnable = new MyRunnable();Thread thread2 = new Thread(myRunnable, "线程-B");// 启动两个线程thread1.start();thread2.start();}
}

运行步骤(以 JetBrains IntelliJ IDEA 为例)
1.新建项目:
在 IntelliJ IDEA 中创建一个新的 Java 项目,将以上三个类分别保存为 MyThread.javaMyRunnable.java、和 MultiThreadDemo.java(文件名和类名需一致)。

2.编译运行:
确保项目结构正确后,右键点击 MultiThreadDemo.java 文件,选择 Run ‘MultiThreadDemo.main()’。
IDE 的控制台窗口将显示两个线程交替输出的打印信息。

预期输出(可能输出顺序交替)

【继承Thread】线程名称:线程-A,计数:0
【实现Runnable】线程名称:线程-B,计数:0
【继承Thread】线程名称:线程-A,计数:1
【实现Runnable】线程名称:线程-B,计数:1
...
【继承Thread】线程名称:线程-A,计数:4
【实现Runnable】线程名称:线程-B,计数:4

注意:输出可能交替显示,因线程调度不可预测。

4. 总结与思考

  • **线程基本概念:掌握线程的创建、运行及生命周期状态,有助于理解并发编程模型。
  • 继承与实现:
    • 继承 Thread 的实现方式适合简单任务,但受限于单继承;
    • 实现 Runnable 接口更灵活,有利于任务重用和资源共享。
  • 实践应用: 在实际开发中,根据具体需求选择合适的线程创建方式。同时注意线程安全、同步等问题,确保多线程程序运行可靠。
http://www.dtcms.com/wzjs/402105.html

相关文章:

  • 创建论坛网站需要多少钱推广形式有哪几种
  • 建设网店网站珠海关键词优化软件
  • 美国服务器日本服务器网站seo公司是什么意思
  • 聊城网站建设seo搜索工具栏
  • 重庆百姓网免费发布信息网seo全称是什么
  • 做异地送花网站最有效的网络推广方式和策略
  • 南京个人网站建设广州各区最新动态
  • wordpress mohtml无锡seo关键词排名
  • 做美篇发网站电商培训学校
  • 自己在电脑上建文档做网站怎么做电商运营的基本流程
  • 仿照别人的网站做违法吗合肥百度网站排名优化
  • 网站开发项目拖延周期橘子seo
  • 数据库做网站和做软件有什么不一样济南网站建设公司
  • 网站建设图标怎样建立一个网络销售平台
  • net开发网站酒店推广渠道有哪些
  • linux做网站的好处兴安盟新百度县seo快速排名
  • 公司网站建设网站百度上广告怎么搞上去的
  • HTML做网站的书籍百度怎么免费推广
  • 专业营销网站建设其他搜索引擎
  • 佛山信息科技有限公司谷歌seo工具
  • wordpress可以关闭不seo先上排名后收费
  • 网站导入dreamweaver营销策划方案ppt
  • 营销型网站的好处新手如何涨1000粉
  • 海南澄迈住房与建设厅网站西安疫情最新数据
  • 长春电商网站建设公司做网站的公司
  • 扬州专业网站制作百度助手应用商店下载安装
  • 大型彩灯制作公司河南seo网站多少钱
  • 销售公司怎么做网站网店推广软文范例
  • 兼职刷客在哪个网站做百度网盘人工客服电话
  • 国外做多媒体展览的网站友情链接对网站的作用