- 博客(67)
- 收藏
- 关注
原创 [C#] BeginInvolke 和 Invoke 的区别 (腾讯元宝)
在Windows Forms或WPF中,UI元素只能在创建它们的线程上访问,所以当后台线程需要更新UI时,必须通过Invoke或BeginInvoke来切换回UI线程。这时候,如果使用Invoke,后台线程会等待UI线程完成操作后再继续,而BeginInvoke则不会,如果UI操作耗时较长的话可能导致竞态条件。
2025-05-09 11:15:18
464
原创 [C#]Task.Run()和Task.Factory.StartNew()对比(腾讯元宝)
Task.Run和Task.Factory.StartNew都是用来创建并启动任务的方法,但它们的内部实现和使用场景有所不同。两者的主要区别:默认调度器、配置选项、异常处理、适用场景。建议用户大多数情况下使用Task.Run,除非需要StartNew的高级配置,比如特定的调度器或任务选项。
2025-05-09 10:14:47
1125
原创 [C#] async和await(腾讯元宝)
在 C# 中,async和await主要用于编写,提升程序的响应性和资源利用率。执行I/O密集型操作,比如文件读写、网络请求或者数据库访问。这些操作通常会等待外部资源,使用异步可以释放线程池线程,提高应用程序的响应性。比如说,如果一个Web服务器处理很多请求,同步方法会导致线程被阻塞,而异步可以让线程处理其他请求,提升吞吐量。还有UI应用程序,比如WPF或WinForms,长时间运行的任务如果不异步,会导致界面卡顿。使用async可以让后台任务运行,同时保持UI响应。
2025-05-09 09:44:21
547
原创 【C#】多线程处理 --《C#本质论》
首先讨论多线程的基本组成部分:Thread、ThreadPool;然后是包括 Task Parallel Library (TPL) 和 Parallel LINQ (PLINQ) 在内的并行扩展库;还讨论了如何通过自动重写程序来管理延续的“连接”,将较小的任务合并成较大的任务
2023-03-29 15:23:20
797
原创 【C#】使用查询表达式的LINQ --《C#本质论》
使用标准查询操作符GroupJoin() 、SelectMany() 、Distinct() 的查询语句不易理解,但处理富数据集的现代程序经常需要复杂的查询。C#3.0开始引入查询表达式语法,使许多标准查询操作符都能转换为更易读的、SQL风格的代码。
2022-10-31 20:10:53
963
原创 【网络】传输层--趣谈网络协议(二)
一、UDP协议传输层有两个比较重要的协议,一个是TCP,一个是UDP。1、TCP和UDP的区别TCP是面向连接的协议,在互通之前会先建立连接,属于有状态服务。所谓的建立连接,是为了在客户端和服务端维护连接,而建立一定的数据结构来维护双方交互的状态,用这样的数据结构来保证所谓的面向连接的特性。而UDP是面向无连接的,是无状态服务。 TCP提供可靠交付。通过TCP连接传输的数据,无差错、不丢失、不重复且按序到达。而UDP继承了IP包的特性,不保证不丢失,不保证按序到达。 TCP是面向字节流的,发
2022-06-25 15:37:16
1440
原创 【网络】综述及二层到三层--趣谈网络协议(一)
极客时间-轻松学习,高效学习-极客邦目录一、为什么要学习网络协议1、为什么要学习网络协议2、要学习的网络协议二、ip addr三、DHCP与PXE1、DHCP2、PXE四、从物理层到MAC层1、物理层2、数据链路层五、交换机与VLAN六、ICMP与ping1、查询报文类型2、差错报文类型:一、为什么要学习网络协议协议的三要素:语法、语义、顺序1、为什么要学习网络协议只有通过网络协议,才能使一大片机器互相协作、共同完成一件事。
2022-04-23 11:18:08
5122
原创 【计组】计算机指令
从软件工程师的角度来讲,CPU就是一个执行各种计算机指令(Instruction Code)的逻辑.。这里的计算机指令,也可以叫做机器语言,。不同发CPU支持的机器语言不同,如个人电脑用的是Intel的CPU,苹果手机用的是ARM的CPU,这两种CPU各自支持的语言就是两组不同的计算机指令集。一个计算机程序,是由成千上万条指令组成的,但是CPU里不能一直放着所有指令,所以计算机程序平时是存储在存储器中的。这种程序指令存储在存储器里的计算机,我们就叫做存储程序型计算机(Stored-program
2022-03-25 07:49:55
627
原创 【计组】性能
衡量计算机性能的标准中主要有两个指标:一是响应时间,也叫执行时间;二是吞吐率(Throughput)或者带宽(BandWidth)性能=1/响应时间计算机的计时单位:CPU时钟用时间来衡量计算机的性能有两个问题:一是时间不准,计算机可能同时运行着好多个程序,CPU实际上不停地在各个程序之间切换;而且,有的程序在运行的时候,可能要从网络、硬盘去读取数据,要等网络和硬盘把数据读出来,给到内存和CPU;即使拿到了CPU时间,也不一定可以比较出程序之间性能的差异,因为就算在同一台计算机上,CPU
2022-03-23 07:42:48
553
原创 【计组】冯诺依曼体系结构
首先要包含一个算术逻辑单元(Arithmetic Logic Unit, ALU)和处理器寄存器(Processor Register)的处理器单元(Processing Unit),用来完成各种算术和逻辑运算。要有一个包含指令寄存器(Instruction Register)和程序计数器(Program Counter)的控制器单元,用来控制程序流程接着是存储数据(data)和指令(Instruction)的内存,以及更大容量的外部存储(现在通常是硬盘)最后是输入和输出设备以及对应的输入和输出
2022-03-15 21:19:59
254
原创 【WPF】级联Combobox
H的可选项为5,20,45,80,125H为5时,V的可选项为3,5,7;H为20时,V的可选项为5,10,15;H为45时,V的可选项为7,17,20;xmal:<StackPanel Orientation="Horizontal"> <Label Content="H:" VerticalAlignment="Center" HorizontalAlignment="Center" FontSize="30"/> <ComboBox ..
2022-01-22 19:27:18
945
2
原创 【WPF】自定义Combobox
一个Combobox 由以下四个部分组成,可分别设置样式设置ComboBoxItem样式 <Style x:Key="ComboboxItemStyle" TargetType="ComboBoxItem"> <Setter Property="FontSize" Value="15"/> <Setter Property="Foreground" Value="#787878"/> ....
2022-01-21 23:21:44
2289
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人