jdk提供的线程协调API suspend/resume wait/notify park/unpark

线程通信(如 线程执行先后顺序,获取某个线程执行的结果等)有多种方式: 文件共享 线程1 --写入--> 文件 < --读取-- 线程2 网络共享 变量共享 线程1 --写入--> 主内存共享变量 < --读取-- 线程2 jdk提供的线程协调API suspend/resume wait/notify park/unpark。 线程协作 - JDK API 线程协作的典型场景:生产者-消费者 模型(线程阻塞、线程唤醒) 如:线程1去卖包子,没有包子,则不再执行,线程2生产包子,通知线程1继续
分类: 其他 发布时间: 11-04 22:17 阅读次数: 0

暂时没想到适合的题目

目录 面对陌生事物时候的问题:(原始需求) 抽象概述 问题复盘 案例 文章写作背景 总结 面对陌生事物时候的问题:(原始需求) 这是什么? 这能干嘛? 这东西对我有什么好处? 该怎么学和用在哪? 买这个多少钱,学起来难吗? 抽象概述 给定义(唯一性) 功能(一个或多个;单独使用还是搭配组合使用) 特点(优点和缺点,对比分析) 学习方法和应用领域(方法论和价值观) 成本(金钱;时间;学习资源) 问题复盘 这是什么?:定义(唯一性) 这能干嘛?:功能(一个或多个;单独使用还是搭配组合使用) 这东西
分类: 其他 发布时间: 11-04 22:17 阅读次数: 0

vritualenvwrapper的基本操作

1. 安裝vritualenvwrapper pip install virtualenvwrapper 2. 設置Virtualenvwrapper的默認創建虛擬環境位置 Virtualenvwrapper默認是在當前的目錄下創建虛擬環境, 如果為了便於管理, 我想要將所有虛擬環境創建在同一個目錄呢? 首先你需要在環境變量中創建的一個新的叫 WORKON_HOME 的變量,在位置中填入你希望存放虛擬環境的位置,如在我的電腦中創建的所有虛擬環境都會在 D:\WorkSpace\Envs 目錄下
分类: 其他 发布时间: 11-04 22:17 阅读次数: 0

English:Day-to-day 1104

\ ------------------------------ editor by enomothem ------------------------------ It snowed throughout the day and night. \___________________________________ \___________________________________| rowing machine __________________
分类: 其他 发布时间: 11-04 22:17 阅读次数: 0

树链剖分与倍增求LCA

树链剖分与倍增求\(LCA\) 首先我要吐槽机房的辣基供电情况,我之前写了一上午,马上就要完成的时候突然停电,然后\(GG\)成了送链剖分 其次,我没歧视\(tarjan LCA\) 1.倍增求\(LCA\) 理解较为简单的一种方法,但速度略慢 倍增是啥? 每个数字都可以拆成几个二的整数次的和,我们可以找出每个数字是由哪几个二的整数次的数合成的 比如说\(14 _ {10} = 1110_2 = 1000 _2 + 100 _2 + 10 _2 = 8 _ {10} + 4 _{10} + 2
分类: 其他 发布时间: 11-04 22:17 阅读次数: 0

java_05_IO

java_05_IO 1,动手动脑 使用Files. walkFileTree()找出指定文件夹下所有大于指定大小(比如1M)的文件。 分析思路: 1)找到该文件夹下所有文件。 2)找出其中字节数大于1*1024*1024的并输出。 package com.me.afterclass; import java.io.File; public class Size { public static void main(String[] args) { File dir
分类: 其他 发布时间: 11-04 22:17 阅读次数: 0

LearnOpenGL笔记(2)三角形

这是学习LearnOpenGL CN教程的笔记,包括我遇到的问题和我的烂笔头。文章名与网站小节对应。 ------------------------------------分割线-------------------------------------------------------------------------------------------- 摆张重要的图先,蓝色的是可以编写着色器控制的部分。 着色器在C++字符串中的形式 "#version 330 core\n"
分类: 企业开发 发布时间: 11-04 22:17 阅读次数: 0

STL - 柱子的排列(pillar) 2019.8.2

题面 【问题描述】 爸爸带着小S来到了JZ广场,小S发现广场的一边从左到右有一排高度不同的柱子,十分壮观。爸爸告诉小S,这里一共有N根柱子,每根柱子的高度都是1至N之间的整数,而且任意两根柱子不一样高。 小S刚学会了数数和比较两个整数的大小,于是她想利用这个机会来展示一下J。她找出一张纸,依次写下了N个数,其中第i个数表示从左起第i根柱子的左边比它高的柱子的根数。例如,如果柱子的排列是3,1,2,那么小S就会记下0,1,1。 现在小S想考考你,她把那张纸给你,你能知道柱子是怎样排列的吗? 【输
分类: 其他 发布时间: 11-04 22:01 阅读次数: 0

欧拉路&&欧拉回路

  T1是欧拉路板子,但我不会,直接爆炸。。 这玩意就是个dfs,但我以前一直以为欧拉路只能$O(nm)$求 今天才知道可以$O(n+m)$ 欧拉路判定: 无向:起点终点为奇度点,其余偶度 有向:起点终点出度入度分别差一,其余相等。 欧拉回路类似。 怎么求?? 我们可以很容易找到起点。然后由于其他点的度数为偶数,就可以保证进去就一定可以出来。 所以瞎搜就完事,注意到有环套环的情况,我们先把这个点扩展完再把该点入栈。 代码实现很简单: void dfs(int x) {   for(int i=
分类: 其他 发布时间: 11-04 22:01 阅读次数: 0

选择排序--通俗易懂

一.选择排序介绍   1.定义:     选择式排序也属于内部排序法,将要排序的数据中,按指定的规则选出某一元素,再依规定交换位置后达到排序的目的   2.排序思想:     第1次从arr[0]上拿到一个值与数组中arr[1]值相比较,如果比后面的值大,则记录下arr[1]的值和下标,当本轮循环结束后找到最小值,然后将arr[0]与最小值交换位置,最小值已经找到     第2次从arr[1]上拿出一个值与数组中arr[2]值相比较,如果比后面的值大,则记录下arr[2]的值和下标,当本轮循环
分类: 其他 发布时间: 11-04 22:01 阅读次数: 0

输出单个文件中的前N个最常出现的英文单词

思路: 从头到尾遍历文件,从文件中读取遍历到每一个单词。 把遍历到的单词放到hash_map中,并统计这个单词出现的次数。 定义全局变量N控制输出多少个单词 循环对全部单词次数进行比较获取出现次数最多的那个,输出后,删除。循环N次。 源代码: package demo1; //从头到尾遍历文件,从文件中读取遍历到的每一个单词。 //把遍历到的单词放到hash_map中,并统计这个单词出现的次数。 //import java.io.BufferedInputStream; impo
分类: 其他 发布时间: 11-04 22:01 阅读次数: 0

同行---凡事预则立

所属班级 2019秋福大软件工程实践Z班 (福州大学) 作业要求 团队作业第五次—冲刺 团队名称 同行 一、 冲刺计划安排 日期 计划安排 11.5 讨论确认开发计划 11.6 实施开发、UI设计 架构设计 11.7 后台数据库设计 11.8 后台接口设计 11.9 接口确认、服务端、功能开发 11.10 接口开发、功能开发 11.11 功能测试 二、问答 对E-R图,表设计的改进 emmmm,十个问题里有九个是关于PPT的,这个实在是设计人员的失误,没有考虑到投影到墙上的效果,对大家产生的体
分类: 其他 发布时间: 11-04 22:01 阅读次数: 0

nginx进阶知识点(负载均衡、限流、黑白名单、限制链接数等)

https://blog.csdn.net/myle69/article/details/83512617
分类: 其他 发布时间: 11-04 22:01 阅读次数: 0

[ural 2126]. Partition into Teams

题意 \(n\)个人,每个人可以站红队,可以站蓝队,也可以当观察者。 红队获胜当且仅当站红队的人数大于站蓝队的人数。 问红队获胜的方案数,对小质数\(p\)取模。 \(n \leq {10} ^ {18}, p \leq {10} ^ {6}\)。 题解 列出式子: \[ \sum_{i = 0} ^ n \binom{n}{i} \sum_{j = 0} ^ {\lfloor \frac{n - i - 1}{2} \rfloor} \binom{n - i}{j} \] 发现后面这个东西相
分类: 其他 发布时间: 11-04 22:01 阅读次数: 0

随机验证码生成和join 字符串

函数:string.join() Python中有join()和os.path.join()两个函数,具体作用如下: join(): 连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串 os.path.join(): 将多个路径组合后返回 一、函数说明 1、join()函数 语法: 'sep'.join(seq) 参数说明 sep:分隔符。可以为空 seq:要连接的元素序列、字符串、元组、字典 上面的语法即:以sep作为分隔符,将seq所有的元素合并成一个
分类: 其他 发布时间: 11-04 22:01 阅读次数: 0

原型的使用_构造函数

原型的使用 //构造函数 定义实例属性 //原型定义 方法和共享属性 function Ka(name, age) { this.name = name; this.age = age; this.child = [1, 2, 3, 4]; } Ka.prototype = { constructor: Ka, say: function() { console.log(this.name); } } 按需加载原型 /
分类: 其他 发布时间: 11-04 22:01 阅读次数: 0

简易绘图板

<style>   span{position: absolute;bottom: 20px;left: 30px;}   input{position: absolute;z-index: 1;}   input:nth-child(1){left: 20px;}   input:nth-child(2){left: 60px;}   input:nth-child(3){left: 100px;} </style> <body>   <input type="button"
分类: 其他 发布时间: 11-04 22:01 阅读次数: 0

2019年11月4日课堂测试,文本读入统计单词数2

一、题目 二、源代码 import java.io.*; import java.util.*; public class ReadWord2 { private static String str1; private static String [] Str=new String[20000]; private static int [] n=new int [20000]; public static void main(String [] a
分类: 其他 发布时间: 11-04 22:01 阅读次数: 0

DFS序1

给一棵有根树,这棵树由编号为1..N的N个结点组成。根结点的编号为R。 每个结点都有一个权值,结点i的权值为vi 。 接下来有M组操作,操作分为两类: 1 a x,表示将结点a的权值增加x; 2 a,表示求结点a的子树上所有结点的权值之和。 输入格式 第一行有三个整数N,M和R。 第二行有N个整数,第i个整数表示vi 。 在接下来的N-1行中,每行两个整数,表示一条边。 在接下来的M行中,每行一组操作。 输出格式 对于每组2 a操作,输出一个整数,表示「以结点a为根的子树」上所有结点的权值之和
分类: 其他 发布时间: 11-04 22:01 阅读次数: 0

2019qbxtCSP-S2 模拟题1

T1 \(solution\) 求出第一个开始下降的位置,移动到连续的与它相同的数的最前面的一个数的位置,记录为\(p\) \(p\)以前的位置的数与原数相同,\(p\)位置为原数-1,后面全部为9 #include<iostream> #include<cstring> #include<cstdio> using namespace std; const int MAXN=200010; int n,a[MAXN],ans[MAXN]; char s[MAXN]; int main(
分类: 其他 发布时间: 11-04 22:01 阅读次数: 0