欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    上机实验7(6页).doc

    • 资源ID:39275718       资源大小:292.50KB        全文页数:6页
    • 资源格式: DOC        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    上机实验7(6页).doc

    -上机实验7-第 6 页攀枝花学院实验报告实验课程: Visual C#,NET程序设计 实验项目: 上机实验9实验日期:2015年6月2日 系:数学与计算机学院 班级: 2013级计算机科学与技术 姓名: 学号: 同组人: 指导教师:罗明刚 成绩: 实验仪器设备,药品,器材:Microsoft visual studio 2010实验原理:1.熟悉visual 2010的基本操作方法.1. 认真阅读本章相关内容,尤其是案例.2. 实验前进行程序设计,完成源程序的编写任务.3. 反复操作,直到不需要参考教材,能熟练操作为止.实验内容:1.要求创建一个银行账户类,一个银行客户类,客户类有账户,从银行客户类派生出儿子和父亲,分别对应的操作为存款和取款 。在主程序中创建两个辅助线程,将存款取款操作分给辅助线程,观察两个线程并发操作的结果并分析。2.在实验1 的基础上,采用lock对存款取款进行操作,分析多个线程运行的结果,并分析存在的问题并说明原因。3.在实验2的基础上,对两个主线程同步,实现父亲存款后儿子取款,父亲再存款儿子再取款的操作,观察实验结果并分析原理。1.using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;namespace BankAccount public class Account private int banlance; private object obj = new object(); private bool flag = false; public int Banlance get return banlance; public Account(int banlance) this.banlance = banlance; public void Withdraw(int money) if (flag = false) Monitor.Wait(obj); if (money <= banlance) banlance -= money; Console.WriteLine(string.Format("取钱成功: 0 , 余额为: 1", money, banlance); else Console.WriteLine(string.Format("取钱失败: 余额不足"); flag = false; Monitor.Pulse(obj); public void Deposit(int money) if (flag = true) Monitor.Wait(obj); banlance += money; Console.WriteLine(string.Format("存钱成功: 0 is deposited, 余额为:1", money, banlance); flag = true; Monitor.Pulse(obj); public abstract class Customer protected Account acc; public Account Acc get return acc; public Customer(Account acc) this.acc = acc; public abstract void DoTransact(int money); public class Son:Customer public Son(Account acc) : base(acc) public override void DoTransact(int money) acc.Withdraw(money); public class Father : Customer public Father(Account acc):base(acc) public override void DoTransact(int money) acc.Deposit(money);using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;namespace BankAccount class Program public static Son son; public static Father father; public static Random r = new Random(); static void Main(string args) Account acc = new Account(0); son = new Son(acc); father = new Father(acc); Thread threadSon = new Thread(new ParameterizedThreadStart(SonProc); threadSon.Start(r); Thread threadFather = new Thread(new ParameterizedThreadStart(FatherProc); threadFather.Start(r); public static void FatherProc(object obj) Random r = (Random)obj; for (int i = 0; i < 20; i+) father.DoTransact(r.Next(0, 1000); public static void SonProc(object obj) Random r = (Random)obj; for (int i = 0; i < 20; i+) son.DoTransact(r.Next(0, 1000);实验截图:2.using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;namespace BankAccount public class Account private int banlance; private object obj = new object(); private bool flag = false; public int Banlance get return banlance; public Account(int banlance) this.banlance = banlance; public void Withdraw(int money) lock (obj) if (flag = false) Monitor.Wait(obj); if (money <= banlance) banlance -= money; Console.WriteLine(string.Format("取钱成功: 0 , 余额为: 1", money, banlance); else Console.WriteLine(string.Format("取钱失败: 余额不足"); flag = false; Monitor.Pulse(obj); public void Deposit(int money) lock (obj) if (flag = true) Monitor.Wait(obj); banlance += money; Console.WriteLine(string.Format("存钱成功: 0 is deposited, 余额为:1", money, banlance); flag = true; Monitor.Pulse(obj); public abstract class Customer protected Account acc; public Account Acc get return acc; public Customer(Account acc) this.acc = acc; public abstract void DoTransact(int money); public class Son:Customer public Son(Account acc) : base(acc) public override void DoTransact(int money) acc.Withdraw(money); public class Father : Customer public Father(Account acc):base(acc) public override void DoTransact(int money) acc.Deposit(money);using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading;namespace BankAccount class Program public static Son son; public static Father father; public static Random r = new Random(); static void Main(string args) Account acc = new Account(0); son = new Son(acc); father = new Father(acc); Thread threadSon = new Thread(new ParameterizedThreadStart(SonProc); threadSon.Start(r); Thread threadFather = new Thread(new ParameterizedThreadStart(FatherProc); threadFather.Start(r); public static void FatherProc(object obj) Random r = (Random)obj; for (int i = 0; i < 20; i+) father.DoTransact(r.Next(0, 1000); public static void SonProc(object obj) Random r = (Random)obj; for (int i = 0; i < 20; i+) son.DoTransact(r.Next(0, 1000);3. 实验总结 此次实验算是C#的最后一次实验了吧,此次实验没有线程难,但是也包括了线程的相关知识,主要还是操作了之前操作的类的相关知识,所以在老师讲的时候大部分也能够听得懂,这学期的C#实验就要告一段落了,自己总结了一下这学期C#的学习,没有人比我更了解自己,就是觉得自己上理论课的时候呢计算老是开小差,但是上实验课的时候都认真的去做,遇到不会的就自己去网上找资料自己解决,除了有些像线程那样的难点,其他的几次实验算是都是自己去完成的.不管怎么样,希望自己不管在学习还是工作中都能以积极认真的态度去对待,这样对谁都好.

    注意事项

    本文(上机实验7(6页).doc)为本站会员(1595****071)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开