摘要:搞了一上午,还是没有搞定,到处出错,郁闷了我自己的工作机上转有DB2、MyEClipse、Visual Studio2010、Sql server2008其中在MyEclipse用Java可以访问DB2,在Visual Studio2010上用C#可以访问Sql server2008现在我有一个java程序和C#程序需要访问同一个数据库可是问题出现了我本来想让vs2010访问DB2,也在项目中引入了IBM.Data.DB2.dll的类库,可是在运行时却提示我“Error3The type or namespace name 'IBM' could not be found (a
阅读全文
摘要:在告别单线程,看看多线程能做什么中,为了在非UI线程中对界面中的控件t_AB赋值我们调用了控件的异步委托方法。尽管它可以很好地解决Windows窗体体系结构中的那个严格的规定,但是和单线程的赋值语句相比,使用异步委托的方式显得有些繁琐,况且它还仅仅是一个简单的TextBox控件。代码对比:单线程:tb_AB.Text=ab.ToString();ab=int.Parse(tb_A.Text)+int.Parse(tb_B.Text);多线程:ab=int.Parse(tb_A.Text)+int.Parse(tb_B.Text);tb_AB.BeginInvoke(newadd(addA_B)
阅读全文
摘要:作为开发者,我觉我们的职责得就是把复杂的东西以一种简单的方式展示给用户或是普通使用者。任何用户都不喜欢反应慢的程序。在计算机性能大幅度提高的今天,用户体验也就显得格外重要,没有人会有耐心去容忍你那糟糕的程序接着上篇所讲,当程序中出现耗时较长的操作时,单线程往往就会力不从心,由于它是连续执行的,所以它没有办法跳过耗时较长的操作。此时,使用多线程无疑是明智的选择,也是简单有效的解决方法。你可以将那些耗时的操作从UI线程中拿掉,放到另外一个非UI线程中,使得程序界面不用停下了等待耗时操作的完成,从而提高程序UI的执行速度。下面我们就上篇文章中的代码稍作修改,,如下:publicpartialclas
阅读全文
摘要:写了好多年得代码却从来没有停下来思考过首先我认为我是个菜鸟羽翼还未丰满若哪里说的不对希望看到我文章的各位同行该说就说该批就批从今天开始我会陆续写一系列个人对线程的看法一来希望能帮助那些刚接触编程的朋友二来也是个机会检验下自己好了,那我就开始了....先使用VS2010创建一个WinForm项目WinFormApp1,项目的根目录下会有个默认的窗口Form1。 走进单线程单线程编程是最简单的一种编程方法,一般初学者才会以这种连续思维模式来编写代码。它的优点是代码编写简单,只要考虑业务流程就可以了。比如你要实现加法运算功能,一般情况下,你会在界面(比如Form1)上放置如下控件: textbox1
阅读全文
摘要:如果应用程序在控制用户界面的线程上执行非 UI 处理,则会使应用程序的运行显得缓慢而迟钝,让用户难以忍受。但是长期以来,编写适用于 Windows 的多线程应用程序只限于 C++ 开发人员。现在有了 .NET Framework,您就可以充分利用 C# 中的多线程来控制程序中的指令流,并使 UI 线程独立出来以便用户界面能够迅速响应。本文将向您介绍如何实现这一目标。此外,本文还将讨论多线程的缺陷并提供一个框架来保护并发线程执行的安全。本页内容为什么选择多线程?异步委托调用线程和控件在正确的线程中调用控件包装 Control.Invoke锁定死锁使其简单取消程序关闭错误处理小结用户不喜欢反应慢的
阅读全文
摘要:首先在Visual Studio2010新建了一个WinForm项目WinFormApp1,里面会默认有个叫Form1的窗口。假设,项目WinFormApp1的功能是为了查询远端Ftp服务器的文档目录,然后把查到的结果显示到Form1的界面上。通常的做法是在Form1.cs类中添加一个QueryFtpFiles()方法用于对远端的ftp服务器进行读操作,然后把读到的内容显示到界面上就算完成了。在这个项目完成后,一般会先在本地或局域网内的某个Ftp服务器上先做个测试,这时你会发现程序很完美地运行着。当你兴致冲冲地把代码交给你领导的时候,你的上司拿了远在美国的ftp服务器来试运行,点击“查询”按钮
阅读全文