摘要: internal class Program { static bool isOutput = true; static int index1 = 0; static int index2 = 100; static Barrier barrier = new Barrier(2, b => { i 阅读全文
posted @ 2024-10-23 14:06 Shapley 阅读(28) 评论(0) 推荐(0) 编辑
摘要: CountdownEvent是一种同步结构,主要用来协调多种同步处理后的结果场景使用。其含义为:定义一个多信号的结构,然后在应用时判断信号是否全部到达,如果全部到达则继续往下运行,否则进行阻塞,有意思的是,如果阻塞已过,那么再次运行到wait()时,线程是不会再次阻塞的,除非调用reset()重新初 阅读全文
posted @ 2024-10-20 12:33 Shapley 阅读(8) 评论(0) 推荐(0) 编辑
摘要: ManualResetEvent ManualResetEvent有三个重要的方法,分别为:waiteone(),set(),reset(),其含义如下: 1.WaitOne()即等待信号发出,即可往下运行。 2.set()发出信号,让线程方法继续往下运行,并允许其他线程(如有)一并往下运行。 3. 阅读全文
posted @ 2024-10-19 22:04 Shapley 阅读(50) 评论(0) 推荐(0) 编辑
摘要: AutoResetEvent是一个非常有用的线程同步机制,尤其是在处理生产者和消费者问题的时候,尤其适用。本随笔记录下生产者和消费者一对一问题的两种写法并进行代码执行逻辑的分析,来加深对AutoResetEvent的理解。 写法一: internal class Program { public s 阅读全文
posted @ 2024-10-19 09:26 Shapley 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 一:线程同步 由于现代计算机CPU的多线程技术普及,所有的资源访问都要面临一个问题:在多线程情况下,如何有序访问资源?为此,线程同步技术应运而生。 线程同步的技术分三类: 1.排它锁: 排它锁,顾名思义,独占(资源)、排他(其他线程或者进程)。排它锁每一次只允许一个线程执行特定的活动或者代码。其目的 阅读全文
posted @ 2024-10-13 14:24 Shapley 阅读(19) 评论(0) 推荐(0) 编辑
摘要: 场景: 分析数据库的表结构,并将表结构导出到word中。 方案1.直接用UI线程做,由于会造成UI卡顿,忽略。 方案2.用task: Task ts = Task.Run(() => { for (int i = 0; i < listTables.Count; i++) { string name 阅读全文
posted @ 2024-09-29 17:58 Shapley 阅读(15) 评论(0) 推荐(0) 编辑
摘要: BEGIN SET NOCOUNT ON; DECLARE @materialid VARCHAR(50) DECLARE P_C CURSOR LOCAL FAST_FORWARD FOR SELECT materialid FROM **** WHERE ebommainid=@id; OPEN 阅读全文
posted @ 2024-05-20 13:54 Shapley 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 首先,定义服务: public interface IUserService { string GetName(); void SetName(string name); } public class UserService : IUserService { private string sss; 阅读全文
posted @ 2024-04-03 16:28 Shapley 阅读(17) 评论(0) 推荐(0) 编辑
摘要: springboot项目有些日子没有开发了,新做一个min spring boot项目,复习下项目开发及发布流程。 1.新建项目: 2.新建一个业务controller controller名称及方法,名称随意,项目结构如下: testcontroller代码文件的内容如下: package com 阅读全文
posted @ 2024-02-04 13:54 Shapley 阅读(90) 评论(0) 推荐(0) 编辑
摘要: SELECT SPID = er.session_id ,Status = ses.status ,[Login] = ses.login_name ,Host = ses.host_name ,BlkBy = er.blocking_session_id ,DBName = DB_Name(er. 阅读全文
posted @ 2024-01-19 09:02 Shapley 阅读(4) 评论(0) 推荐(0) 编辑