愤怒的大鸟 发表于 2015-1-16 22:41:37

ASP.NET教程之ASP.NET:一段对照典范的多线程进修代码...

中间码是基于一个虚拟机器。源代码是最高层的,理论上从源代码开始直接编译成本地码能提供最大优化的。而中间码只能是转译成本地码,效率上难免受到损耗。根据虚拟机器所设定的体系结构的特点,和本地机器的差异的多少。asp.net|对照|多线程  一段对照典范的多线程进修代码。
  1、用到了多线程的同步成绩。
  2、用到了多线程的按次成绩。
  假如有乐趣的请细心浏览上面的代码。注重个中代码段的按次,思索一下,这些代码的按次可否相互互换,为何?这应当对进修很有匡助的。为了演示,让一切的线程都Sleep了一段工夫。
usingSystem.Net;
usingSystem;
usingSystem.IO;
usingSystem.Text;
usingSystem.Threading;
usingSystem.Diagnostics;
namespaceWebb.Study
{
classTestThread
{
staticMutexm_Mutex=newMutex();
staticThread[]m_testThreads=newThread;
staticintm_threadIndex=0;
staticvoidThreadCallBack()
{
TestThread.m_Mutex.WaitOne();
intm_index=m_threadIndex;
TestThread.m_Mutex.ReleaseMutex();
Console.WriteLine("Thread{0}start.",m_index);
for(inti=0;i<=10;i++)
{
TestThread.m_Mutex.WaitOne();
Console.WriteLine("Thread{0}:isrunning.{1}",m_index,i);
TestThread.m_Mutex.ReleaseMutex();
Thread.Sleep(100);
}
Console.WriteLine("Thread{0}end.",m_index);
}
publicstaticvoidMain(String[]args)
{
Console.WriteLine("Mainthreadstart.");
for(inti=0;i<TestThread.m_testThreads.Length;i++)
{
TestThread.m_threadIndex=i;
TestThread.m_testThreads=newThread(newThreadStart(ThreadCallBack));
TestThread.m_testThreads.Start();
Thread.Sleep(100);
}
for(inti=0;i<TestThread.m_testThreads.Length;i++)
{
TestThread.m_testThreads.Join();
}
Console.WriteLine("Mainthreadexit.");
}
}
}
  1、主函数中这两句可否交换?为何?
TestThread.m_testThreads.Start();
Thread.Sleep(100);
  2、CallBack函数中这两句可否交换?为何?会有甚么分歧的了局?
TestThread.m_Mutex.ReleaseMutex();
Thread.Sleep(100);
  3、主函数可否写成如许?为何?会有甚么分歧的了局?
publicstaticvoidMain(String[]args)
{
Console.WriteLine("Mainthreadstart.");
for(inti=0;i<TestThread.m_testThreads.Length;i++)
{
TestThread.m_threadIndex=i;
TestThread.m_testThreads=newThread(newThreadStart(ThreadCallBack));
TestThread.m_testThreads.Start();
TestThread.m_testThreads.Join();
Thread.Sleep(100);
}
Console.WriteLine("Mainthreadexit.");
}
  4、这几句的感化是甚么?那末程序中还存在甚么样的成绩?应当做如何的修正?
TestThread.m_Mutex.WaitOne();
intm_index=m_threadIndex;
TestThread.m_Mutex.ReleaseMutex();
仅做进修会商。
我之所以想学。NET,是因为一直觉的BILLGATES好厉害,希望有一天能去微软,虽然现在还距离遥远,呵呵:)

柔情似水 发表于 2015-1-19 21:17:11

微软又推出ASP.NET。这不是ASP的简单升级,而是全新一代的动态网页实现系统,用于一台WEB服务器建立强大的应用程序。是微软发展的新体系结构.NET的一部分,是ASP和.NET技术的结合。

海妖 发表于 2015-1-25 11:24:06

但是目前在CGI中使用的最为广泛的是Perl语言。所以,狭义上所指的CGI程序一般都是指Perl程序,一般CGI程序的后缀都是.pl或者.cgi。

冷月葬花魂 发表于 2015-2-2 21:55:26

如今主流的Web服务器软件主要由IIS或Apache组成。IIS支持ASP且只能运行在Windows平台下,Apache支持PHP,CGI,JSP且可运行于多种平台,虽然Apache是世界使用排名第一的Web服务器平台。

灵魂腐蚀 发表于 2015-2-8 08:06:15

大哥拜托,Java在95年就出来了,微软垄断个妹啊,服务器市场微软完全是后后来者,当年都是Unix的市场,现在被WindowsServer和Linux抢下大片,包括数据库也一样。

再见西城 发表于 2015-2-25 02:12:12

由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。

小妖女 发表于 2015-3-7 15:49:28

PHP的源代码完全公开,在OpenSource意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新,使得PHP无论在UNIX或是Win32的平台上都可以有更多新的功能。它提供丰富的函数,使得在程式设计方面有着更好的资源。目前PHP的最新版本为4.1.1,它可以在Win32以及UNIX/Linux等几乎所有的平台上良好工作。PHP在4.0版后使用了全新的Zend引擎,其在最佳化之后的效率,比较传统CGI或者ASP等技术有了更好的表现。

若相依 发表于 2015-3-15 09:13:17

我觉得什么语言,精通就好,你要做的就是比其他80%的人都厉害,你就能得到只有20%的人才能得到的高薪。

仓酷云 发表于 2015-3-21 23:18:24

大哥拜托,Java在95年就出来了,微软垄断个妹啊,服务器市场微软完全是后后来者,当年都是Unix的市场,现在被WindowsServer和Linux抢下大片,包括数据库也一样。
页: [1]
查看完整版本: ASP.NET教程之ASP.NET:一段对照典范的多线程进修代码...