part

多线程part7-等待唤醒机制 

一个多线程协作模式 消费者 先判断中间类是否有消费品 没有则等待,有则消费 消费之后唤醒生产者 生产者 判断中间类是否有消费品 有则等待,没有则生产 消费品放在中间类 唤醒消费者 常用方法: 需要用锁对象去调用 void wait() 让当前线程等待,知道被其他线程唤醒 让当前线程跟锁绑定 void ......
线程 机制 part7 part

多线程part6-线程安全

同步代码块解决线程安全问题 当多个线程操作同一数据时会出现问题 会出现多次相同,会超过范围 线程执行代码时,cpu执行权随时有可能被其他线程抢走 所以我们需要把操作共享数据的代码锁起来 需要一个关键字 Synchronized(锁对象){执行代码} 特点一:锁状态默认打开,但一个线程进去了,锁自动关 ......
线程 part6 part

多线程part5-线程的生命周期

1.创建线程对象(新建状态) ↓↓↓start()方法↓↓↓ 2.有执行资格没有执行权(就绪状态,不停抢cpu),有资格抢cpu,但目前没有抢到 ↓↓↓抢到执行权↓↓↓ ↑↑↑被其他线程抢到执行权↑↑↑ 3.有执行资格有执行权(运行状态) ————sleep()或者其他堵塞方法————》没有执行资格 ......
线程 周期 生命 part5 part

多线程part4-常见的成员方法

String getName() 返回线程的名称 void setName(String name) 设置线程的名字(构造方法亦可设置) 细节: 如果我们没有给线程设置名字,默认名字格式为:Thread-x(x序号,从0开始) 如果给线程设置名字,可以用set方法,也能用构造方法进行设置,但要记得子 ......
线程 成员 常见 方法 part4

多线程part3-实现方式

①继承Thread类的方式 将一个类声明为Thread的子类。 这个子类应该重写run类的方法Thread 。 然后可以分配并启动子类的实例。 例如,计算大于规定值的素数的线程可以写成如下: class PrimeThread extends Thread { long minPrime; Prim ......
线程 方式 part3 part

多线程part2-多线程的两个概念

并发 同一时刻,有多个指令在单个CPU上交替执行 理解:打游戏的时候,右手操作鼠标,同时用右手喝可乐,手速特别快交替执行,这时,你的右手相当于CPU,执行的对象相当于线程 并行 同一时刻,有多个指令在多个CPU上同时执行 理解:关键点在于同时 ......
线程 概念 两个 part2 part

多线程Part1

线程 线程是操作系统能够进行运算调度的最小单位,他被包含在进程之中,是进程中的实际运作单位 理解:应用软件中互相独立,可以同时运作的功能 进程 进程是程序的基本执行实体 多线程应用场景 软件中的耗时操作:拷贝、迁移大文件;加载大量的资源文件 所有的聊天软件 所有的后台服务器 总结 有了多线程就可以让 ......
线程 Part1 Part

光学成像系统 Part III - BRDF测试数据使用 (二)

# 一、BRDF实验数据使用方法 ## 1. 数据集-[下载](https://pan.baidu.com/s/1_XLyBAgdqwR_wiVnoBoLxw?pwd=mchg) ### I. 数据集格式(Anisotropic BRDF Data File Format) 解压后的数据集以 `.d ......
光学 数据 系统 Part BRDF

算法学习day07哈希表part02-454、383、15、18

package SecondBrush.Hash; import java.util.HashMap; import java.util.Map; /** * 454. 四数相加 II * 给你四个整数数组 nums1、nums2、nums3 和 nums4 ,数组长度都是 n ,请你计算有多少个元 ......
算法 part day 454 383

算法学习day06哈希表part01-242、349、202、1

package SecondBrush.Hash; /** * 242.有效字母异位词 * 现在看到这个题目能想到怎么做,但是具体不知道怎么写 * 大致思路自己先描述一下: * 就是建立一个hash表,然后遍历s,写进表中,遍历t,减去对应的数 * hash表就可以理解为数组 */ public c ......
算法 part day 242 202

代码随想录算法训练营第51天 | ● 309.最佳买卖股票时机含冷冻期 ● 714.买卖股票的最佳时机含手续费 ●总结 - 第9章 动态规划part12

第九章 动态规划part12 ● 309.最佳买卖股票时机含冷冻期 ● 714.买卖股票的最佳时机含手续费 ● 总结 309.最佳买卖股票时机含冷冻期 本题加了一个冷冻期,状态就多了,有点难度,大家要把各个状态分清,思路才能清晰 视频讲解: https://programmercarl.com/03 ......
时机 随想录 股票 训练营 手续费

代码随想录算法训练营第55天 | ● 392.判断子序列 ● 115.不同的子序列 - 第9章 动态规划part15

第九章 动态规划part15 ● 392.判断子序列 ● 115.不同的子序列 详细布置 392.判断子序列 这道题目算是 编辑距离问题 的入门题目(毕竟这里只是涉及到减法),慢慢的,后面就要来解决真正的 编辑距离问题了 https://programmercarl.com/0392.%E5%88% ......
序列 随想录 训练营 随想 算法

代码随想录算法训练营第56天 | ● 583. 两个字符串的删除操作 ● 72. 编辑距离 ● 编辑距离总结篇 - 第9章 动态规划part16

第九章 动态规划part16 ● 583. 两个字符串的删除操作 ● 72. 编辑距离 ● 编辑距离总结篇 详细布置 583. 两个字符串的删除操作 本题和动态规划:115.不同的子序列 相比,其实就是两个字符串都可以删除了,情况虽说复杂一些,但整体思路是不变的。 72. 编辑距离 最终我们迎来了编 ......
随想录 训练营 字符串 随想 算法

算法学习day03链表part01-203、707、206

package SecondBrush.LinkedList.LL1; /** * 203.移除链表元素 * 删除链表中等于给定值 val 的所有节点。 * 自己再次概述一下这个过程: * 1.移除元素,要采用设置虚拟节点的方式,因为那样不需要考虑头结点问题 * 2.设置两个虚拟指向 * 3.移除元 ......
算法 part day 203 707

算法学习day04链表part02-24、19、0207、142

package SecondBrush.LinkedList.LL1; /** * 24. 两两交换链表中的节点 * */ public class SwapNodesInPairs_24 { public ListNode swapPairs(ListNode head){ ListNode du ......
算法 0207 part day 142

创建第一个Django app-part3

## 编写更多的视图 > 编辑polls/views.py 点击查看代码 ``` from django.shortcuts import render from django.http import HttpResponse # Create your views here. def index( ......
app-part Django part app

算法学习day02数组part02-977、209、59

package SecondBrush.Array; /** * 977.有序数组的平方 * 输入:nums = [-4,-1,0,3,10] 输出:[0,1,9,16,100] * <p> * 不看解题思路,想到的是双指针 * 一个在开头,一个在末尾,但是一下没想到怎么写 * 看了一下一刷内容,想 ......
数组 算法 02 part day

光学成像系统 Part I V - CMOS光电结构再探 (二)

# 一、光学结构 ## 1. CMOS子结构解析: + **OCMA(On-Chip Microlens Array):** 用于汇聚光线; + **OCCFA(On-Chip Color Filter Array):** 用于采集彩色信息; + **LS(Light Shield):** 用于防止 ......
光学 光电 结构 系统 Part

算法学习day01数组part01-704、27

package SecondBrush.Array; /** * 704. 二分查找 */ public class BinarySearch_704 { public int search(int[] nums, int target) { int left = 0; int right = nu ......
数组 算法 01 part day

UI自动化 判断文件是否下载成功-Part 2

3、 # -*- coding:UTF-8 -*- import os from time import sleep import hashlib import glob DOWNLOAD_PATH = 'D:\\download_file' # 获取文件MD5值 def get_file_md5( ......
文件 Part

Note of Introduction to Bioorganic Chemistry and Chemical Biology: Part 1 (《化学生物学》读书笔记:第一部分)

## Chapter 1: The Fundamentals of Chemical Biology (第 1 章 化学生物学基础) ### 1.0 INTRODUCTION (引子) #### 1.0.1 Why organize a book on chemical biology around ......

代码随想录算法训练营第43天 | ● 1049. 最后一块石头的重量 II ● 494. 目标和 ● 474.一和零 - 第9章 动态规划part05

第九章 动态规划 part05 ● 1049. 最后一块石头的重量 II ● 494. 目标和 ● 474.一和零 详细布置 1049. 最后一块石头的重量 II 本题就和 昨天的 416. 分割等和子集 很像了,可以尝试先自己思考做一做。 视频讲解:https://www.bilibili.com ......
随想录 训练营 随想 算法 重量

光学成像系统 Part IV - CMOS光电转换特性 (二)

# CMOS光电转换特性 ## 1. 量子效率和响应率 -PHOTOCONVERSION CHARACTERISTICS 总量子效率(Overall quantum efficiency, QE) 指入射光子转成像素电荷的效率,由下式给出: $$ \begin{align*} QE(\lambda) ......
光学 光电 特性 系统 Part

代码随想录算法训练营第39天 | ● 62.不同路径 ● 63. 不同路径 II - 第9章 动态规划part02

第九章 动态规划part02 ● 62.不同路径 ● 63. 不同路径 II 今天开始逐渐有 dp的感觉了,题目不多,就两个 不同路径,可以好好研究一下 详细布置 62.不同路径 本题大家掌握动态规划的方法就可以。 数论方法 有点非主流,很难想到。 https://programmercarl.co ......
路径 随想录 训练营 随想 算法

代码随想录算法训练营第42天 | ● 01背包问题,你该了解这些! ● 01背包问题,你该了解这些! 滚动数组 ● 416. 分割等和子集 - 第9章 动态规划part04

第九章 动态规划part04 ● 01背包问题,你该了解这些! ● 01背包问题,你该了解这些! 滚动数组 ● 416. 分割等和子集 正式开始背包问题,背包问题还是挺难的,虽然大家可能看了很多背包问题模板代码,感觉挺简单,但基本理解的都不够深入。 如果是直接从来没听过背包问题,可以先看文字讲解慢慢 ......
背包 随想录 子集 问题 训练营

代码随想录算法训练营第37天 | ● 738.单调递增的数字 ● 968.监控二叉树 ● 总结 - 第8章 贪心算法part06

第八章 贪心算法 part06 ● 738.单调递增的数字 ● 968.监控二叉树 ● 总结 详细布置 738.单调递增的数字 https://programmercarl.com/0738.%E5%8D%95%E8%B0%83%E9%80%92%E5%A2%9E%E7%9A%84%E6%95%B0 ......
算法 随想录 训练营 随想 代码

代码随想录算法训练营第38天 | ● 理论基础 ● 509. 斐波那契数 ● 70. 爬楼梯 ● 746. 使用最小花费爬楼梯 - 第9章 动态规划part01

第九章 动态规划part01 ● 理论基础 ● 509. 斐波那契数 ● 70. 爬楼梯 ● 746. 使用最小花费爬楼梯 详细布置 今天正式开始动态规划! 理论基础 无论大家之前对动态规划学到什么程度,一定要先看 我讲的 动态规划理论基础。 如果没做过动态规划的题目,看我讲的理论基础,会有感觉 是 ......
楼梯 随想录 训练营 随想 算法

代码随想录算法训练营第35天 | ● 435. 无重叠区间 ● 763.划分字母区间 ● 56. 合并区间 - 第8章 贪心算法part05

第八章 贪心算法 part05 ● 435. 无重叠区间 ● 763.划分字母区间 ● 56. 合并区间 详细布置 今天的三道题目,都算是 重叠区间 问题,大家可以好好感受一下。 都属于那种看起来好复杂,但一看贪心解法,惊呼:这么巧妙! 还是属于那种,做过了也就会了,没做过就很难想出来。 不过大家把 ......
区间 算法 随想录 训练营 随想

UI自动化 判断文件是否下载成功-Part 1

一、测试目录&测试文件 二、代码实现 1、 # -*- coding:UTF-8 -*- import os from time import sleep DOWNLOAD_PATH = 'D:\\download_file' # 检查下载文件 def check_download_file(f): ......
文件 Part

算法学习day60单调栈part03-84

package LeetCode.stackpart03; /** * 84. 柱状图中最大的矩形 * */ public class LargestRectangleHistogram_84 { public int largestRectangleArea(int[] heights) { in ......
算法 part day 60 03