随笔分类 -  C#

1
摘要:C#中 Mutex 类也是用于线程同步操作的类,例如,当多个线程同时访问一个资源时保证一次只能有一个线程访问资源。在 Mutex 类中,WaitOne() 方法用于等待资源被释放, ReleaseMutex() 方法用于释放资源。WaitOne() 方法在等待 ReleaseMutex() 方法执行 阅读全文
posted @ 2021-07-05 15:17 来自金沙江的小鱼 阅读(218) 评论(0) 推荐(0)
摘要:在 C# 中 Monitor 类的命名空间是 System.Threading,它的用法要比 lock 的用法复杂一些,但本质是一样的。使用 Monitor 类锁定资源的代码如下。 Monitor.Enter(object);try{ //临界区代码}finally{ Monitor.Exit(ob 阅读全文
posted @ 2021-07-05 14:38 来自金沙江的小鱼 阅读(92) 评论(0) 推荐(0)
摘要:前面学习过程中,曾经联系过使用sleep 方法能控制线程的暂停时间,从而改变多个线程之间的先后顺序,但每次调用线程的结果是随机的。线程同步的方法是将线程资源共享,允许控制每次执行一个线程,并交替执行每个线程。 在 C# 语言中实现线程同步可以使用 lock 关键字和 Monitor 类、Mutex 阅读全文
posted @ 2021-07-05 13:52 来自金沙江的小鱼 阅读(401) 评论(0) 推荐(0)
摘要:在学习ThreadStart时,做过2个线程的练习-输出奇数和偶数,每次结果不一样,说明这两个线程随机的交替进行。如果希望控制输出顺序,就要定义优先级。 在 C# 中线程的优先级使用线程的 Priority 属性设置即可,默认的优先级是 Normal。在设置优先级后,优先级高的线程将优先执行。但不能 阅读全文
posted @ 2021-07-05 12:28 来自金沙江的小鱼 阅读(407) 评论(0) 推荐(0)
摘要:与前面一篇学习的ThreadStart不同,ParameterizedThreadStart可以带参数。 在 C# 语言中使用 ParameterizedThreadStart 创建进程,首先需要创建 ParameterizedThreadStart 委托的实例,然后再创建 Thread 类的实例。 阅读全文
posted @ 2021-07-05 09:40 来自金沙江的小鱼 阅读(177) 评论(0) 推荐(0)
摘要:前面的练习时显示1-10的偶数,这是一个单线程,接下来实验一下双线程,在前一个练习基础上把数据范围扩大一下。 新建一个控制台项目,用两个线程分别显示偶数和奇数。 完整代码如下 using System;using System.Threading;namespace ThreadStart练习2{ 阅读全文
posted @ 2021-07-05 08:32 来自金沙江的小鱼 阅读(73) 评论(0) 推荐(0)
摘要:在 C# 语言中使用线程时首先需要创建线程,在使用 Thread 类的构造方法创建其实例时,需要用到 ThreadStart 委托或者 ParameterizedThreadStart 委托创建 Thread 类的实例。ThreadStart 委托只能用于无返回值、无参数的方法,Parameteri 阅读全文
posted @ 2021-07-04 20:45 来自金沙江的小鱼 阅读(370) 评论(0) 推荐(0)
摘要:原帖地址 C# 计算农历日期方法(2021版)_逐浪CMS发哥的博客-CSDN博客 public static class ChinaDate{ private static ChineseLunisolarCalendar china = new ChineseLunisolarCalendar( 阅读全文
posted @ 2021-07-01 10:23 来自金沙江的小鱼 阅读(101) 评论(0) 推荐(0)
摘要:在 C# 语言中线程(Thread)是包含在进程中的,它位于 System.Threading 命名空间中。与线程有关的类同样也都在 System.Threading 命名空间中,主要的类如下表所示。 名说明 Thread 在初始的应用程序中创建其他的线程 ThreadState 指定 Thread 阅读全文
posted @ 2021-06-30 14:31 来自金沙江的小鱼 阅读(66) 评论(0) 推荐(0)
摘要:在使用windows的任务管理器时候可以看到进程是可以按照进程名字进行排序的。现在做一个练习,也把进程做一下排序,顺带夫婿一下字符串的比较、listbox控件属性的操作。 在最前面加上 using System.Diagnostics; 窗体的打开事件加入下面的代码 private void For 阅读全文
posted @ 2021-06-22 10:53 来自金沙江的小鱼 阅读(87) 评论(0) 推荐(0)
摘要:继续Process类的练习。新建一个项目显示所有在运行的进程,显示在listbox控件中,选中其中的进程,鼠标右键点击弹出菜单“关闭进程”将其关闭。 前面添加 using System.Diagnostics; 窗体打开事件添加下面的代码 private void Form1_Load(object 阅读全文
posted @ 2021-06-21 21:58 来自金沙江的小鱼 阅读(138) 评论(0) 推荐(0)
摘要:继续学习进程类。新建一个项目,在文本框输入一个进程名字,点击按钮启动这个进程。 按钮鼠标点击事件代码是 private void button1_Click(object sender, EventArgs e) { string processName = textBox1.Text; Proce 阅读全文
posted @ 2021-06-21 21:22 来自金沙江的小鱼 阅读(59) 评论(0) 推荐(0)
摘要:在操作系统中,每运行一个程序都会开启一个进程,一个进程由多个线程构成。 线程是程序执行流中最小的单元。 在应用程序中分为单线程程序和多线程程序。 单线程程序是指在一个进程空间中只有一个线程在执行; 多线程程序是指在一个进程空间中有多个线程在执行,并共享同一个进程的大小。 进程指在每个操作系统中自动启 阅读全文
posted @ 2021-06-21 20:23 来自金沙江的小鱼 阅读(106) 评论(0) 推荐(0)
摘要:在 C# 语言中程序调试主要指在 Visual Studio 中调试程序,包括设置断点、监视断点,以及逐语句、逐过程、使用一些辅助窗口来调试程序。在 Visual Studio 的菜单栏中单击“调试”,菜单项如下图所示。 其中列出的内容即为调试时可用的选项,下面介绍其常用的调试功能。 1. 设置断点 阅读全文
posted @ 2021-06-20 21:21 来自金沙江的小鱼 阅读(268) 评论(0) 推荐(0)
摘要:前一篇使用debug进行调试,使用 Trace 类也能完成同样的效果,只需将上述代码中的 Debug 类换成 Trace 类即可。 提示:Trace 类的 WriteLine 方法中的参数不支持上述代码中 Debug 类的 WriteLine 方法的参数形式,只能传递字符串。 需要注意的是当程序在 阅读全文
posted @ 2021-06-20 20:27 来自金沙江的小鱼 阅读(90) 评论(0) 推荐(0)
摘要:在 C# 语言中允许在程序运行时输出程序的调试信息,类似于使用 Console.WriteLine 的方式向控制台输出信息。所谓调试信息是程序员在程序运行时需要获取的程序运行的过程,以便程序员更好地解决程序中出现的问题,这种调试也被称为是非中断调试。输出调试信息的类保存在 System.Diagno 阅读全文
posted @ 2021-06-20 20:10 来自金沙江的小鱼 阅读(322) 评论(0) 推荐(0)
摘要:虽然在 C# 语言中已经提供了很多异常处理类,但在实际编程中还是会遇到未涉及的一些异常处理。比如界面要求用户输入数字必须在某个范围,如果输入的不是数字,会产生系统异常,输入的数字超范围也会产生异常,这个异常就属于自定义的异常。 自定义异常类必须要继承 Exception 类。 声明自定义异常的语句如 阅读全文
posted @ 2021-06-20 17:08 来自金沙江的小鱼 阅读(216) 评论(0) 推荐(0)
摘要:前一篇练习学过finally语句不管try有没有异常都会执行,可以用在关闭流、断开数据库连接等场合。还是通过一个练习来体会一下。 新建一个项目,在文本框输入一些信息,将这些信息写入一个文本文件,不管有没有异常,最后关闭流文件。 确定按钮的鼠标点击事件代码如下 private void button2 阅读全文
posted @ 2021-06-20 16:42 来自金沙江的小鱼 阅读(86) 评论(0) 推荐(0)
摘要:前面学习的异常处理try……catch,要么执行try中的语句,要么执行catch的语句。异常处理还可以有finally语句,就是说无论有没有异常都会执行。通常在 finally 中编写的代码是关闭流、关闭数据库连接等操作,以免造成资源的浪费。 做一个练习体会一下,修改第一个异常处理的练习代码,将c 阅读全文
posted @ 2021-06-20 15:27 来自金沙江的小鱼 阅读(77) 评论(0) 推荐(0)
摘要:以前学习过一段时间的C#编程,后来放弃了,因为笨和懒吧。现在觉得今后工作可能还会用上,还是得强迫自己学习一下。就不公开这些博客了,自己留着看看就行。网上厉害得人太多了,就不现眼了。 我从微软官网下载了visual studio 2019社区版,安装时选择了C#的选项。安装完成后,需要重启,然后在桌面 阅读全文
posted @ 2021-05-22 21:42 来自金沙江的小鱼 阅读(580) 评论(0) 推荐(0)

1