线程的生命周期及方法

回顾进程:一段正在运行的程序,资源分配的基本单位线程:进程中的任务,cpu调度的最小单元线程的创建:1)Thread 继承2)Runnable 实现3)Callable 实现4)匿名内部类启动线程:start (run call)守护线程守护线程是一类比较特殊的线程,一般用于处理后台的工作,比如JDK的垃圾回收线程什么守护线程?为什么会有守护线程?何时需要守护线程?明确:JVM什么情况下退出?The java virtual machine exits when the onl
分类: 其他 发布时间: 03-09 08:08 阅读次数: 0

并发编程及synchronized关键字

/**并发编程什么是并发编程?并发编程是为了提高程序的执行速度,在宏观上使得多个任务同时执行,则需要启动多个线程,但事实启动多个线程之后,不管针对单核cpu还是多核cpu线程进行上下文切换(cpu 通过)给每一个线程分配时间片,只有说拿到时间片的线程才可以执行,通常时间片很短,所以才会感觉到多个线程在并行操作,存在线程不安全性。一个正确执行的并发程序,满足并发编程的三大特性,原子性、可见性、有序性1) 原子性所谓原子性是指一次或者多次操作中,要么所有的操作全部执行要么所有的操作都不执行
分类: 其他 发布时间: 03-09 08:08 阅读次数: 0

Sychronized练习题与volatile关键字

/**课堂练习:synchornized同步锁实现3个线程循环打印数字,使用线程1,打印1,2,3,4,5.线程2,打印6,7,8,9,10.线程3,打印11,12,13,14,15.依次循环打印,直到打印至60(提示:会使用到wait/notify/notifyAll方法)**/public class TestDemo10 { public static int num = 1;//要打印的数字 public static int index = 0 ; //线程的计数器,用
分类: 其他 发布时间: 03-09 08:08 阅读次数: 0

线程间的通信(包括生产者消费者模型)

/** * 线程间的通信 * 1)synchronized加锁的线程的Object类的wait/notify/notifyAll * wait 调用某个对象的wait方法可以让当前线程阻塞,并且当前线程要拥有 * 某个对象的monitor lock * notify 调用某个对象的notify方法能够唤醒一个正在等待这个对象monitor * lock的线程,如果有多个线程都在等待这个对象的monitor lock,这个方法 * 只能够唤醒一个 * notifyAll 调用某个对象的not
分类: 其他 发布时间: 03-09 08:07 阅读次数: 0

线程安全ConcurrentHashMap源码分析

package thread;import java.util.concurrent.ConcurrentHashMap;/** * ConcurrentHashMap源码分析 * 1、类的继承关系 * 2、类的属性 * sizeCtl table的初始化和扩容需要用到的变量 * -1 代表table正在初始化 * -N 代表N-1个线程在进行扩容操作 * 其他情况: * 1)如果table未初始化,table表示初始化的大小 * 2)如果table初始化完成,表示table的容
分类: 其他 发布时间: 03-09 08:07 阅读次数: 0

剑指offer!

经验一、1.要循环用到某些数字如1-3,要想到%的用法。 2.要去掉数组的某个元素又不想改变下标,就设置boolean[],将想删除的置为false。一、循环报数游戏,有n个人,报数从1-3,每次报到3的人退出游戏,得到最后获胜人的编号(编号从0开始) */public class practice { public static void findmum(boolean arr[],int n){ int count =n;//7// Syste
分类: 其他 发布时间: 03-09 08:07 阅读次数: 0

【自我提高】树莓派GPIO的几种语言控制方法 C 篇

使用C语言控制 GPIO.18首先知道树莓派外置IO的关系对照表我这里的树莓派是: PI 3B + V1.2关系对照表如下:C 语言下使用 wiringPi GPIO 进行编程要安装 wiringPipi@raspberrypi:~ $ sudo apt-get updatepi@raspberrypi:~ $ sudo apt-get upgradepi@raspberrypi:~ $ sudo apt-get install wiringpi测试 wiringPi 是否安装成功p
分类: 其他 发布时间: 03-09 08:06 阅读次数: 0

【自我提高】树莓派GPIO的几种语言控制方法 python 篇

使用 python 语言控制 GPIO.18首先知道树莓派外置IO的关系对照表我这里的树莓派是: PI 3B + V1.2关系对照表如下:首先安装 python 和 GPIO 库具体安装过程参考:https://blog.csdn.net/weixin_43073852/article/details/82803314https://www.cnblogs.com/zhenqichai/p/raspberry-pi-control-GPIO-with-python.html代码如下:#
分类: 其他 发布时间: 03-09 08:06 阅读次数: 0

【自我提高】树莓派UART的几种语言控制方法 python 篇

树莓派串口(UART)编程Python示例文章参考:https://blog.csdn.net/berryfish/article/details/601476311. 首先了解树莓派两个串口的对应关系serial0 -> ttyS0serial1 -> ttyAMA0树莓派包含两个串口:一个称之为硬件串口(/dev/ttyAMA0)一个称之为mini串口(/dev/ttyS0)硬件串口由硬件实现,有单独的波特率时钟源,性能高、可靠。mini串口时钟源是由CPU内核时钟提供,
分类: 其他 发布时间: 03-09 08:06 阅读次数: 0

【自我提高】树莓派UART的几种语言控制方法 C 篇

Note: The file descriptor (fd) returned is a standard Linux file descriptor. You can use the standard read(), write(), etc. system calls on this file descriptor as required. E.g. you may wish to write a larger block of binary data where the serialPutchar()
分类: 其他 发布时间: 03-09 08:06 阅读次数: 0

【简易广告机】利用树莓派制作一个简易的广告机(1)

利用树莓派做一个简单的广告机废话不多说开始1. 安装 omxplayeromxplayer 简易介绍:omxplayer是专门针对树莓派的GPU的播放器,支持硬件解码,最高支持分辨率是1080P,omxplayer这个命令行播放器,是专门针对树莓派优化了的GPU的播放器,支持硬件解码。支持格式:MKV、AVI、FLV、MP4。鄙人亲自验证过,MP4格式视频文件播放流畅不卡顿废话结束安装sudo apt-get install omxplayer安装完毕pi@raspberrypi:~
分类: 其他 发布时间: 03-09 08:05 阅读次数: 0

【C#学习】设置TextBox组件的进度条并将接受到的数据展示在最下方

设置TextBox组件的进度将TextBox中的数据默认展示最下方 private void richTextBox2_TextChanged(object sender, EventArgs e) { /* 滚条设置在最下方 */ this.richTextBox2.Focus(); //获取焦点 this.richTextBox2.S
分类: 其他 发布时间: 03-09 08:05 阅读次数: 0

【C#学习】遍历主机所有的IP地址放入组件ComboBox

遍历主机所有的IP地址放入组件ComboBox private void Form1_Load(object sender, EventArgs e) { /* combobox 组件 */ iplist.Items.Add("请选择IP地址"); List<string> str = new List<string>(); /* 得到本机名字 */
分类: 其他 发布时间: 03-09 08:05 阅读次数: 0

【电子电路】MOS管电平转换电路

电平转换在电路设计中非常常见,因为做电路设计很多时候就像在搭积木,这个电路模块,加上那个电路模块,拼拼凑凑连起来就是一个电子产品了。而各电路模块间经常会出现电压域不一致的情况,所以模块间的通讯就要使用电平转换电路了。上图是用MOS管实现的I2C总线电平转换电路,实现3.3V电压域与5V电压域间的双向通讯。挂在总线上的有3.3V的器件,也有5V的器件,通过这个电路,大家就可以愉快地玩耍聊天了。实物对照图如下。实物的上拉电阻用了4.7K欧姆,可以提供更大的电流驱动能力。在满足电路性能的前提下,我喜欢用阻值.
分类: 其他 发布时间: 03-09 08:04 阅读次数: 0

【电子电路】LDO的选型与分析

工作原理LDO是Low Dropout Regulator的缩写,意思是低压差线性稳压器,下面是LDO的内部框图,大致的工作原理就是:参考电压Vref和反馈电压FB(VOUT通过两个电阻分压)分别接在误差放大器的反向和正向端,然后输出误差量,再通过MOS drive调整输出电压大小,达到输出稳定。当输出电压增大时,FB增大,放大器输出电压增加,PMOS管的G极电压增大,Usg减小,PMOS的输出电流和电压较小,形成了一个负反馈系统。LDO是Low Dropout Regulator的缩写,意思是低压
分类: 其他 发布时间: 03-09 08:04 阅读次数: 0

【电子电路】电子基础基本知识和面试要点

1、晶体管基本放大电路有共射、共集、共基三种接法,请简述这三种基本放大电路的特点。共射:共射放大电路具有放大电流和电压的作用,输入电阻大小居中,输出电阻较大,频带较窄,适用于一般放大。共集:共集放大电路只有电流放大作用,输入电阻高,输出电阻低,具有电压跟随的特点,常做多级放大电路的输入级和输出级。共基:共基电路只有电压放大作用,输入电阻小,输出电阻和电压放大倍数与共射电路相当,高频特性好,适用于宽频带放大电路。.2、多级放大电路的级间耦合方式有哪几种?哪种耦合方式的电路零点偏移最严重?哪种耦合方
分类: 其他 发布时间: 03-09 08:04 阅读次数: 0

【C语言技巧】位域是什么?

位域是什么?有些数据在存储时并不需要占用一个完整的字节,只需要占用一个或几个二进制位即可。例如开关只有通电和断电两种状态,用 0 和 1 表示足以,也就是用一个二进位。正是基于这种考虑,C语言又提供了一种叫做位域的数据结构。在结构体定义时,我们可以指定某个成员变量所占用的二进制位数(Bit),这就是位域。请看下面的例子:struct bs{ unsigned m; unsigned n: 4; unsigned char ch: 6;};" : " 后面的数字用来限定成员
分类: 其他 发布时间: 03-09 08:04 阅读次数: 0

【C语言技巧】位域在在嵌入式中的应用

位域的概念位域(或者也能称之为位段,英文表达是 Bit field)是一种数据结构,可以把数据以位元的形式紧凑的存储,并允许程序员对此结构的位元进行操作。这种数据结构的好处是:可以使数据单元节省存储空间,当程序需要成千上万个数据单元时,这种数据结构的优点也就很明显地突出出来了。位段可以很方便地访问一个整数值的部分内容从而简化程序源代码。位域的定义总体来说位域的定义可以分为两大类,一个是结构体位域,一个是共用体体位域,由于共用体和结构体两者在定义上的形式都是相同的,因此对于位域的定义从形式上看,
分类: 其他 发布时间: 03-09 08:03 阅读次数: 0

【电子电路】五款单按键开关机电路图

(一) 单按键开关机电路图本例电路可实现通过按一次按键S1实现开机,再按一次S1实现关机的功能。整个电路的工作过程:电路中连接器P1是一个电源连接器,电源+从1,2脚输入,电源地从3,4脚输入。电路上电后,P-MOS管Q1的G极和S极都是为高电平,所以Q1处于截止状态,VCC出没有电源输出。同时,电容C2通过电源,电阻R2,电阻R4充电。C2上的电压会慢慢上升。当按下开关S1时,电容C2上的电压加在三极管Q2的基极上,使Q2饱和导通。此时PMOS管Q1的G极被三极管Q2拉低至低电平,使MOS管的
分类: 其他 发布时间: 03-09 08:03 阅读次数: 0

【电子电路】变送器信号 4~20mA 恒流源电路设计

使用 LM324AD 运算放大器进行的恒流源设计,输入信号 VDD 0.4V~2V电压信号 对应输出 4 ~ 20mA 电流信号,仿真测试中发现 VCC 是5V时,输入信号大于1.1V,输出电流信号不稳定。发现 VCC 是12V时,输出电流信号稳定在4 ~ 20mA。实际有待验证。设计思路是如下电路图:...
分类: 其他 发布时间: 03-09 08:03 阅读次数: 0