Linux新指令get👍 2021-08-03 Linux 暂无评论 ## 查询文件夹总大小 ``` shell root@OpenWrtForN1:~# du -sh /mnt/mmcblk2p4 1.8G /mnt/mmcblk2p4 ``` > `du` 查询文件夹大小 `-s`可以显示当前文件夹的大小(字节) `-h`可以把字节转换成M,K,G 有时候需要 查看占用,这个指令会很方便 *2021-8-3* ## scp 命令 > 两台Linux之间怎么传输文件😲😲😲 1. 本机往远程复制文件 - `scp [-P 端口{大写大写}] [-r {递归传递文件夹}] [-C {允许压缩}] 本机文件名 用户名@ip地址:远端路径/[这里可以修改文件名 不写则不修改文件名]` 1. 从远程复制文件到本地 - `scp [-P 端口{大写大写}] [-r {递归传递文件夹}] [-C {允许压缩}] 用户名@ip地址:远端路径或者文件名 本机文件名` ## du 命令 2022-02-17 (果然还是忘记了\~\~\~💀💀💀) >显示文件夹的大小 每次用到都要百度,给老子记住!记住!!🤪🤪🤪 1. 展示文件夹的大小 `du -sh /mnt/mmcblk2p4/docker/*` 这个**\***号要带着,不然只会展示当前文件夹的大小 切记哈 *2022-02-17*
c#异步操作 2021-08-02 C# 暂无评论 ### async和await > 意思就是,在方法名那里加上async修饰,再定义Task.Run(匿名函数),里面可以加上返回值。 需要里面数值的时候,在赋值那里用await修饰。不会造成ui线程阻塞 ``` c# private async void rdbtnPt_CheckedChanged(object sender, EventArgs e) { //异步获取数据 避免ui阻塞 var thread = Task.Run(() => { nzsc_hgq_2021Entities2 hgqDatatable = new nzsc_hgq_2021Entities2(); //查询字典表里面的所有数据 return hgqDatatable.pt_err_limit.Select(o => o).ToList(); }); List allPtErr = await thread; } ``` > Task.Factory.StartNew(); 也是开一个新的线程,但是,他是立即执行的,而上面那个有点像把方法保存起来,需要用的时候加上await就行了。 ***2022-03-07 Task的一些用法*** > 新姿势🤷♂️🤷♂️🤷♂️ Task自带了一些管理线程的方法 1. `WhenAll(Task[])`等待列表中所有的线程执行完毕,可以配合 await 返回的是T类型的数组, >顺便提一下,这个await是异步的线程,他不会阻塞主线程,但是他会阻塞它所在的线程 ``` c# var a = await Task.WhenAll(alltas); foreach (var o in a) { var aa = o as Dictionary; FileStream file = File.Create(Environment.CurrentDirectory + "/" + aa.Keys.ToArray()[0]); file.Write(aa.Values.ToArray()[0], 0, aa.Values.ToArray()[0].Length); file.Close(); } ``` 上面这个代码await这段代码会阻塞,不会立即执行foreach,但是不会阻塞UI线程,`你懂我意思吧.jpg👀` 2. `WhenAny(Task[])` 等待Task数组中最先完成的task对象。状态为`RanToCompletion`已经成功执行,通过这个对象可以直接获取到Result,就不需要再阻塞了。但是其他任务好像还会继续执行 3. `WaitAll和WaitAny`就是字面意思,不过返回的不是task对象而是数组的索引,感觉用到的地方很少,而且他会让线程里的Invoke语句阻塞,不知道为啥,用When*就没啥问题.
此处省略三篇文章。。。 2021-07-28 默认分类 暂无评论 哎😔忘记备份数据库了,直接拉闸也是没谁了,前面写的几篇都没了,害。 ## 生活 这段时间南京这边疫情又出现了,好像还挺严重,这段时间不要乱跑吧。以后一定要早点睡觉,经常熬夜的我感觉智商已经不在线了,mysql的一对一、一对多、多对多的关系都理不清了,啊啊啊,早睡早睡早睡。 ## 工作 怎么说呢,这份工作确实时学不到什么东西,主要还是靠自己自学,遇到问题多查,多练。持之以恒,我也可以成为大佬的,哈哈哈哈。