黑马程序员——JavaSE之多线程原理分析一

        之前学javase时老师一直强调多线程,IO流等很重要,越到后面有时用的越频繁。在用的时候自己半天想不起来某些方法,所以今天特意准备一篇,也是为了重新复习下,如果有什么不对的,不完善的地方还希望大家多多提建议。

        在计算机操作系统中,存在进程、线程、程序。这里就简单解释下,以便区分。

         程序(program)是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。

         >如:没有运行时的QQ(静态的)

     进程(process)是程序的一次执行过程,或是正在运行的一个程序的状态过程:有它自身的产生、存在和消亡的过程。(会显示在任务控制器中)

         >如:运行中的QQ(动态的)

     线程(thread),进程可进一步细化为线程,是一个程序内部的一条执行路径。

         >若一个程序可同一时间执行多个线程,就是支持多线程的。

     觉得有时还是分不清,进程和线程,这是可以把进程比喻成多个道,每个道都是由线程组成的。


  这时说到线程,就不得不提一下线程的生命周期,就是指线程从创建开始一直到消亡的这个过程。

    生命周期分为5个状态创建状态、就绪状态、运行状态、等待状态(阻塞或睡眠)和死亡状态。
          1.创建状态。这个线程刚被创建,还没有调用start()方法。这是创建的对象,不能通过isAlive()测试。

    2.就绪状态。这时这个线程调用start()方法进入Runnable状态。这是的线程具备了运行时的条件,一旦被调度程序选为运行线程时所处的状态,就会立刻执行。此时的线程不是处于运行状态,但是可以通过isAlive()测试。

 3.运行状态。

 4.等待、阻塞或者睡眠状态。线程只是缺少运行条件,一旦条件满足,就会转换到就绪状态。

           5.死亡状态。一旦线程死去,就不会重新启动,不能再次调用start()方法了。如果继续调用会抛出IllegalThreadException异常。


    其中CPU的调度也是值得一提的,在某一时刻CPU具体要运行谁是由CPU和线程的优先级决定的,当线程被CPU运行时,就会开始执行run方法,但可能执行到一半CPU又会被其他可运行线程抢走,而只能暂停执行。

   

、 内容概要 本资源提供了个完整的“金属板材压弯成型”非线性仿真案例,基于ABAQUS/Explicit或Standard求解器完成。案例精确模拟了模具(凸模、凹模)与金属板材之间的接触、压合过程,直至板材发生塑性弯曲成型。 模型特点:包含完整的模具-工件装配体,定义了刚体约束、通用接触(或面面接触)及摩擦系数。 材料定义:金属板材采用弹塑性材料模型,定义了完整的屈服强度、塑性应变等真实应力-应变数据。 关键结果:提供了成型过程中的板材应力(Mises应力)、塑性应变(PE)、厚度变化​ 云图,以及模具受力(接触力)曲线,完整再现了压弯工艺的力学状态。 二、 适用人群 CAE工程师/工艺工程师:从事钣金冲压、模具设计、金属成型工艺分析与优化的专业人员。 高校师生:学习ABAQUS非线性分析、金属塑性成形理论,或从事相关课题研究的硕士/博士生。 结构设计工程师:需要评估钣金件可制造性(DFM)或预测成型回弹的设计人员。 三、 使用场景及目标 学习目标: 掌握在ABAQUS中设置金属塑性成形仿真的全流程,包括材料定义、复杂接触设置、边界条件与载荷步。 学习如何调试和分析大变形、非线性接触问题的收敛性技巧。 理解如何通过仿真预测成型缺陷(如减薄、破裂、回弹),并与理论或实验进行对比验证。 应用价值:本案例的建模方法与分析思路可直接应用于汽车覆盖件、电器外壳、结构件等钣金产品的冲压工艺开发与模具设计优化,减少试模成本。 四、 其他说明 资源包内包含参数化的INP文件、CAE模型文件、材料数据参考及份简要的操作要点说明文档。INP文件便于用户直接修改关键参数(如压边力、摩擦系数、行程)进行自主研究。 建议使用ABAQUS 2022或更高版本打开。显式动力学分析(如用Explicit)对计算资源有定要求。 本案例为教学与工程参考目的提供,用户可基于此框架进行拓展,应用于V型弯曲
### 黑马程序员 JavaSE 课程概述 #### 什么是Java? Java是种广泛使用的面向对象编程语言,具有跨平台特性。它由Sun Microsystems于1995年推出,并迅速成为企业级应用开发的主要技术之[^1]。 #### 马程序员 JavaSE 基础教程的核心内容 黑马程序员JavaSE基础教程通常分为多个阶段,逐步深入讲解Java的基础知识和高级特性。以下是该课程的些核心模块: 1. **Java入门** - 讲解Java的历史背景和发展历程。 - 探讨Java的特点及其与其他编程语言的区别。 2. **集成开发环境(IDEA)** - 学习如何安装并配置IntelliJ IDEA或其他主流IDE。 - 使用IDE创建、运行和调试简单的Java程序。 3. **基础语法** - 数据类型与变量声明。 - 运算符及表达式的使用方法。 - 控制结构如条件语句(if, switch)以及循环(for, while)。 4. **面向对象编程(OOP)** - 类与对象的概念介绍。 - 封装、继承和多态三大特性的实现方式。 - 抽象类与接口的应用场景分析。 5. **异常处理机制** - 异常的基本概念及其分类。 - try-catch-finally块的作用范围说明。 - 自定义异常的设计原则。 6. **集合框架(Collection Framework)** - List、Set、Map等常用集合类型的比较选择依据。 - Iterator迭代器模式的工作原理详解。 - 并发环境下安全操作集合的方法探讨。 7. **输入输出流(I/O Streams)** - 文件读写基本流程演示。 - 字节流与字符流之间的区别联系解释。 - 缓冲区(Buffered Stream)提高效率的技术手段分享。 8. **多线程(Thread)** - 创建启动新线程的不同途径展示。 - 同步锁(Synchronized Block/Method)防止资源竞争现象发生的重要性强调。 - 线程间通信工具(Condition Variable,Pipe etc.)实际案例剖析。 9. **网络编程(Network Programming)** - Socket套接字基础知识普及。 - 客户端服务器模型(Client-Server Model)构建过程指导。 - HTTP协议请求响应消息格式解析。 10. **数据库连接(JDBC)** - JDBC API主要组成部分功能描述。 - PreparedStatement预编译SQL语句提升性能优势阐述。 - ResultSet结果集遍历技巧总结。 ```java public class HelloWorld { public static void main(String[] args){ System.out.println("欢迎来到黑马程序员Java世界!"); } } ``` 以上仅为部分精选主题概览,具体学习路径还需参照官方文档或者购买正版教材获取更详尽的内容安排。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值