为什么用线程池 1.创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处理效率 例如: 记创建线程消耗时间T1,执行任务消耗时间T2,销毁线程消耗时间T3 如果T1+T3>T2,那么是不是说开启一个线程来执行这个任务太不划算了! 正好,线程池缓存线程,可用已有的闲置线程来执行新 ...
分类:
编程语言 时间:
2020-07-21 09:58:27
阅读次数:
69
锁是个非常有用的工具,运用场景非常多,因为它使用起来非常简单,而且易于理解。但同时它也会带来一些困扰,那就是可能会引起死锁,一旦产生死锁,就会造成系统功能不可用。让我们先来看一段代码,这段代码会引起死锁,使线程t1和线程t2互相等待对方释放锁。 class DeadLockDemo { privat ...
分类:
编程语言 时间:
2020-07-19 11:36:05
阅读次数:
52
SELECT DISTINCT t2.xm_code,t2.xm_desc,t2.xm_contact,t3.user_email FROM xm_main t2 LEFT JOIN xm_agree_zb t1 ON t2.xm_code =t1.xm_code LEFT JOIN portal. ...
分类:
其他好文 时间:
2020-07-17 19:50:28
阅读次数:
137
###第一种 函数 wm_content('待转列名称') 11g 往后,不推荐使用 ###实例 多表关联时可以使用 (SELECT wm_concat(nvl(B1.OPERA_CODE,'a')) AS OPERA_CODE FROM OPERATION_NAME B1 WHERE T1.OPE ...
分类:
数据库 时间:
2020-07-17 09:27:48
阅读次数:
86
7.15 dp专题 T1.sum 小Z爱求和 https://www.luogu.com.cn/problem/T138967 无脑暴力骗20... 正解 n2 个元素,挨个统计是 O( n2 ) ,所以统计每个点的贡献 复杂度降到O(n) 对于每个点,他可能贡献的区间是 L= pre(k-1) 前 ...
分类:
其他好文 时间:
2020-07-16 21:46:57
阅读次数:
58
水题都做不好,看来凉了 T1 音量调节(changingsounds) 这是个小菜鸡题 只需要 \(dp\) 一波就行(理论上都不是 \(dp\)) \(dp[i][j]\) 表示第 \(i\) 首歌曲能否达到 \(j\) 的音量 在 \(dp[n][i]=1\) 找到 \(i\) 最大的 #inc ...
分类:
其他好文 时间:
2020-07-14 00:55:46
阅读次数:
56
DISTINCT 在所有列上转换为 GROUP BY,并与 ORDER BY 子句结合使用。 SELECT DISTINCT t1.a FROM t1,t2 where t1.a=t2.a; ...
分类:
数据库 时间:
2020-07-13 18:13:23
阅读次数:
172
#T1 搜索 和以前做过一道关于排序的题有亿点点像,看到这么小的数据范围竟然脑抽没去想搜索.... #T2 筛法 换个方向思考,我们考虑这个数是几个数的倍数 #include <bits/stdc++.h> using namespace std; const int maxn = 1000000+ ...
分类:
其他好文 时间:
2020-07-12 22:15:34
阅读次数:
66
主要就是引用线程,实例化一个线程将需要执行的一个方法交给他,启动,执行完后自动关闭也可以手动关闭 //引用 using System.Threading; 使用 //实例化一个线程 Thread t1 = new Thread(CopyGongZi); //启动 t1.Start(); 注意,在线程 ...
分类:
编程语言 时间:
2020-07-10 23:49:47
阅读次数:
62
class MyGenericClass1<T1, T2> { private T1 obj1; public MyGenericClass1() { //default关键字什么情况下可以用(无法随便假设某种类型,这种类型也许没有构造方法,也许是私有的 obj1 = default(T1);//如 ...