C# 文件和多线程编程

实验五:文件和多线程编程

实验目的:

构建线程A1、A2… Ak(k>=3)和线程B的程序(k生产者和单消费者)。A1、A2… Ak从磁盘各自读取一个文本文件,写入到内存中的固定的容器(如Pool)。A1、A2… Ak读取每一行时,都会休眠,然后在随机的时间(10–100 ms)醒来继续尝试执行。程序要求按照A1、A2… Ak的顺序写入Pool。B会观察Pool的状态,如果有新数据,则进行读取,否则B处于等待状态。注意,A1、A2… Ak不能互相干扰。当所有的文件被读取完毕,且B读取完毕时,程序结束。

实质

多生产者——>单消费者

环境

  1. 操作系统: Windows 10 X64
  2. IDE: visual studio 2017
  3. 语言:C#

知识点1-多线程Thread类

  1. 多线程: 一个程序开始运行时,它就是一个进程,一个进程由多个线程组成,线程是程序中的一个执行流。多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行任务
  2. 线程命名空间: System.Threading
  3. Thread类:
  • 创建线程:Thread workth1=new Thread(start);
  • 暂停线程:Thread.Sleep(n); n为毫秒数;使包含该段代码的线程休眠
  • 中断线程:Thread.Interrupt();
  • 销毁线程:Thread.Abort(); 如果线程已经终止,则不能用Start()再启动

知识点2-线程同步(Monitor类实现线程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值