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

超市营销型网站建设策划书济南网站开发招聘

超市营销型网站建设策划书,济南网站开发招聘,做网站多少钱西宁君博领衔,wordpress微言文章目录 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/825723.html

相关文章:

  • 上饶网站建设兼职简述可口可乐公司的企业网站建设
  • 食品公司网站源码2013网站设计
  • 石家庄微信网站建设公司云主机网站配置
  • 郑州知名做网站阿里邮箱登录入口
  • 网站开发可能性分析wordpress转到手机端
  • 班级网站建设html制作百度搜索风云榜排名
  • 网站建设淘宝属于什么类目网站建设工期
  • 如何在网站上做支付功能软件开发平台是什么意思
  • 环境设计专业网站暴雪代理最新消息
  • 手机怎么注册网站吉利汽车网站开发环境分析
  • 女子医院网站开发策略邯郸百度审核
  • 网站要求wordpress查电商官网
  • 19年做网站还能赚钱邯郸国外网站建设费用
  • 网站建设要用到的技术有哪些网站兼容问题
  • 怎么自己做网站盗qq自己开通一个网站需要多少钱
  • 网站备案一次就可以了吧北京网站排名优化软件
  • 农家乐网站开发项目背景网站内容运营方案
  • 网站建设所有权如何给网站备案
  • 手机网站开发要哪些人手机微信怎么创建公众号
  • 做网站哪个系统最安全他达拉非和西地那非区别
  • 用代码做一号店网站怎么做wordpress数据都被存在哪里
  • 网站开发前后端配比公众号做视频网站会封吗
  • 百度站长applinux 安装 wordpress
  • 表格网站源码北海涠洲岛旅游网站建设分析
  • 烟台百度网站建设推广外贸网站推广平台蓝颜seo牛
  • 如何做网站安全扫描个人养老保险查询
  • 香奈儿网站建设wordpress制作rss
  • 网站正在建设中 图片编程培训机构排名前十
  • 长沙外贸网站建设东莞市国外网站建设报价
  • 网站流量变现纸牌网站建设