Java多线程学习

GD32 TLI+IPA实战:5分钟搞定RGB888屏幕显示,并开启2D图形加速 本文详细介绍了如何使用GD32微控制器的TLI和IPA功能快速驱动RGB888屏幕并开启2D图形加速。通过硬件配置、时序设置和显存管理,开发者可以高效实现图形界面渲染,并利用IPA加速器提升性能,适用于嵌入式GUI开发等场景。 阅读详情

1.并发和并行
单cpu,一个cpu处理任务,某个时刻只能处理一个任务调度,单线程
如一边听音乐一边写代码,你感觉cpu某刻只做一件事情,在多件事件中快速切换,肉眼感觉好像同时做了多个事情,并发执行

并发:两个或多个事件在同一时间段内发生,但是真正在某刻,只有一个事情在执行,cpu在快速的切换执行
并行:某一刻多个事情一起执行,多cpu,分布式,大数据,并行

2.进程和线程
进程:正在运行的软件,共享资源,同一个进程所在的内存空间是一起的。现在软件功能强大,不可能只有一个业务,可能会有多个功能模块,如qq:发消息 受消息,这多个功能之间也可能是并发执行的,这些功能看成一个任务,这些任务可以单独被cpu调度,单个的任务成为线程
线程:是cpu执行的最小单位的任务,一个进程可以由多个线程组成,如果只有一个线程,那么就是单线程的进程,现在进程都是多线程,线程是cpu调度的基本单位。每个线程都在争抢cpu,为了能够更快的执行自己。

3.为什么会有多线程?
多线程存在的原因是为了更好利用cpu,让cpu一直都在执行

4.多线程:java关于操作以及线程之间如何争抢cpu不需要程序员处理
Thread 线程类
现在我们所写的程序只有一个线程,主线程 main线程
方法:
currentThread() 获得当前线程
run()线程执行的步骤
start() 启动线程
setName() 修改线程名
getName() 获得线程名
setPriority(Thread.MAX_PRIORITY)设置线程优先级 Thread.NORM_PRIORITY Thread.MIN_PRIORITY
Thread.yield()礼让
Thread.sleep()睡眠阻塞

class MyThread1 extends Thread {
	@Override
	public void run() {
		System.out.println("MyThread1");
	}
}

class MyThread4 extends Thread {
	@Override
	public void run() {
		// TODO Auto-generated method stub
		System.out.println("MyThread2");
	}
}

class MyThread3 extends Thread {
	@Override
	public void run() {
		// TODO Auto-generated method stub
		System.out.println("MyThread3");
	}
}

public class Client {
	public static void main(String[] args) {
		MyThread1 thread1 = new MyThread1();
		MyThread4 thread4 = new MyThread4();
		MyThread3 thread3 = new MyThread3();
		thread1.start();
		thread4.start();
		thread3.start();
		//输出结果   
	}
}

输出结果不定

5.线程礼让,将cpu让出来

6.后台线程或守护线程:主线程消亡,我也消亡了
如GC,如果main执行完,GC也就退出了

7.总结
1.并发和并行
并发:同一时刻只有一个线程在执行,在同一时间段,多个线程交替执行,单cpu
并行:同一刻多个线程执行,多个cpu
2.进程和线程
进程:正在运行的软件
线程:cpu调度的任务单元,一个进程由多个线程组成,一个进程享受独有空间,多个线程共享资源空间
3.线程实现方法 ,继承Thread类,重写run方法
4.run和start区别
run方法是线程执行步骤,直接调用,就是主线程的普通方法
start,开启一个线程,进入就绪状态,等待cpu的调度,执行run方法
5.sleep 睡眠阻塞
6.线程生命周期
实例线程对象,调用start()进入就绪,当cpu调用,执行run(),run()执行完,消亡
cpu的时间片段到,进入就绪状态,等待cpu的再次调度
sleep,进入睡眠阻塞,时间到了,进入就绪
yiled(),让出cpu,等待让出的线程执行片段结束,再执行自己
后台线程,当守护的主线程销毁,立即销毁

UG二次开发GRIP刻字 阅读详情

相关推荐

C# WPF多页面间的数据共享(经典)

实现页面间的数据共享有很多方法,比如:①事件的发布订阅 ②委托③ioc容器④静态类等,这节主要通过静态的集合实现数据的添加和获取。

sf315418的博客 639

Java多线程学习(超详细总结)

多线程学习

u011997561的博客 730

微信小程序使用TCP通信

最终目的:在微信小程序内实现对局域网发起TCP通信实现步骤:建立TCP服务 + 小程序发起通信。

Big_YiFeng的博客 5612

Java多线程学习(超详细)

Java线程

qq_46940224的博客 1768

OpenHarmony Stage模型深度解剖:从Ability Kit到沙箱隔离的全链路底层原理

基于微内核架构,提供进程管理、内存管理、IPC通信等基础能力:包含V8引擎、ArkTS运行时、渲染引擎等核心组件:Ability Kit框架,提供应用生命周期管理、组件调度等能力:基于Stage模型的应用程序。

m0_67505153的博客 191

泛微OA自定义post接口和路径(无侵入)

泛微OA自定义post接口和路径(无侵入)

技术分享 3869

java多线程入门(很到位)

java中之所以有多线程机制,目的就是为了提高程序的处理效率。 对于单核的CPU来说,不能够做到真正的多线程并发,但是可以做到给人一种“多线程并发”的感觉。对于单核的CPU来说,在某一个时间点上实际上只能处理一件事情,但是由于CPU的处理速度极快,多个线程之间频繁切换执行,跟人来的感觉是多个事情同时在做。

weixin_45131680的博客 947

嵌入式硬件中AI硬件设计方法与技巧

嘉立创EDA推出AI助手Kimi插件,为PCB设计提供智能支持。该插件具备四大核心功能:AI问答助手可解答各类电路设计问题;元件查询功能直接展示参数和应用场景;智能分析网表可检测潜在问题;电路图识别能解析图纸结构并提供改进建议。用户需通过扩展插件安装,并配置Kimi API密钥后使用。该工具旨在提升工程师的设计效率,减少查阅资料时间,特别适合项目交接和设计自查场景。

嵌入式技术开发 1867

编程必备:JAVA多线程详解

多线程已经成为一种常见的编程模式,广泛应用于各种不同类型的应用程序中。本篇博客文章中,我们将会探讨多线程编程的相关知识和技巧。通过代码示例和实际应用案例来深入了解多线程的具体实现和应用方法,帮助更好地掌握多线程编程技术,提高程序效率和性能。后期随学习深入还会补充修改。以上就是我对多线程的个人简介,后续会不断完善更新,与大家共勉。

拾一二的博客 9425

【企业智能体开发】优化模型成本、延迟与失败降级

小林的培训快开始时,服务台花很久“思考最优回答”,体验并不会更好。反过来,为了省钱而始终选最轻的模型,若连房间、连接方式和任务状态都识别不稳,后续错误检索和重复建单会造成更大代价。企业 Agent 的优化对象不是单次模型调用价格,而是任务在可接受时间内、安全地推进到正确结果的总成本。

Mr数据杨 893

时序预测 | MATLAB实现NGM(1,1)多变量灰色时间序列预测

时序预测 | MATLAB实现NGM(1,1)多变量灰色时间序列预测

机器学习之心的博客,关注并私信文章链接,获取对应文章源码和数据。 1514

超详细JAVA基础——多线程

学会Java多线程,只看一个博客就够了!

qq_45781655的博客 2万+

RT-DERT安卓部署教程

这个文档中的代码案例,实现了拍照和选图识别,两个功能,可以看效果图。UI做了美化:显示类别机和数量。代码下载地址:通过网盘分享的文件:android_rtdert.zip链接: https://pan.baidu.com/s/1k6e-d_lov1OPgUmit5i_cA?pwd=hpfi 提取码: hpfi–来自百度网盘超级会员v8的分享。

AIOT魔法师 195

如何学习Java多线程

如何学习Java多线程 最近一段时间,我对《Java并发编程实践》这本经典而又有些难懂的书籍,尝试用了一些简单有趣、通俗易懂的方式进行解读,现整理成GitBook(文末有链接),方便大家阅读。 为什么要解读这本书 因为这是一本经典却又难懂的书。 这本书的经典我想不必多讲了,几乎所有想学习Java并发的同学,都会被推荐去看这本书(虽然他们中的大多数在看了不到三分之一之后就放弃了),作为...

tzllxya的博客 262

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

java修炼之多线程学习心得

java修炼之多线程学习心得 java是少数几种支持“多线程”的开发语言之一。大多数的程序语言只能遵循运行单独的一个程序块,无法同时运行多个不同的程序块。java的“多线程”恰可以弥补这个缺陷,它可以让同一进程中的不同线程一起运行起来,而不再像别的成语言只能进行单一的线程运行。如此一来就可以让程序运行起来更加的顺畅了,同时也可以达到多个任务同时被处理,更加充分利用计算机的CPU资源。 1. 进程与...

qq_41910568的博客 630

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

写给Java程序员看的多线程学习指南

前言大家好,我是Guide哥!这是我的第二篇专门介绍如何去学习某个知识点的文章。相比于写技术文章来说,写这种这种类型的文章实际花费的时间可能会稍微少一点。但是,这种学习指南形式的文章,...

singwhatiwanna 588

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Java学习:多线程

线程的回顾学习,个人理解学习,专业理论性知识不强。

weixin_48800764的博客 1825

java多线程学习思维导图

本思维导图参考高洪岩所著《Java多线程编程核心技术》

浅浅的i的博客 2970

Java多线程学习指南

Java 多线程学习指南

感谢阅读 1558

学习JAVA多线程的网站

http://www.jb51.net/article/36130.htm

hubinbin595959的专栏 449

java多线程学习

虽说学习java的时间很长了,但是说实话在线程这个方面,最多的就是会写一个线程的啊。。。。 对于什么异步处理,wait方法都没有使用过的。。。。 所以在近期就决定好好学习一个java多线程的基础,为以后做实际的项目做好准备了。、。。 这个是一个写的很好的帖子,专门说明线程的,而且有很多的列子。。。 http://lavasoft.blog.51cto.com

ljz2009y的专栏 772

Java多线程学习笔记

***Java多线程学习*** 1:Java多线程的概述 定义:进程和线程是现代操作系统中两个必不可少的运行模型,在操作系统中可以有很多进程,包括系统进程和用户进程,一个进程中可以有多个线程 。 注:1:进程:是一个正在执行中的程序(每一个进程执行都有一个执行顺序(或者叫执行路径或者叫控制单元)。 2: 线程:就是进程中的一个独立的控...

qq_44891295的博客 774

JAVA 多线程学习笔记

 JAVA 多线程学习笔记

baobeituping的专栏 138

java多线程学习资料网站集合

最近找工作,一直在看多线程,发现了一个 http://www.cnblogs.com/skywang12345/p/java_threads_category.html

shancoder的专栏 919

java多线程个人学习笔记

需要在创建的类中重写run()方法,并将实现线程功能的代码写入run()方法,然后调用Thread类的start()方法执行线程。如果多线程程序中: 存在一个线程,现在需要插入另一个线程,要求插入的线程结束才能继续执行原来的线程,此时就需要用到join()方法。当创建一个新线程时,如果没有显式设置优先级,它将继承父线程的优先级,默认情况下父线程优先级为。每一个线程都有各自的优先级,如果有很多线程处于就绪状态,系统就会根据优先级来决定那个线程进入运行状态。线程是程序执行的最小单位,属于进程的一个执行单位,

2401_84040384的博客 835
上一篇: AcWing算法基础的一些模板
下一篇: (┬_┬)
qq_34348564
博客等级 码龄11年 2粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值