![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
solond
啥也别说了
展开
-
C#多线程编程
单个写入程序/多个阅读程序在.Net类库中其实已经提供了实现,即System.Threading.ReaderWriterLock类。本文通过对常见的单个写入/多个阅读程序的分析来探索c#的多线程编程。 问题的提出 所谓单个写入程序/多个阅读程序的线程同步问题,是指任意数量的线程访问共享资源时,写入程序(线程)需要修改共享资源,而阅读程序(线程)需要读取数据。在这个同步问题中,很容易得到下面二转载 2008-03-09 11:56:00 · 348 阅读 · 1 评论 -
用C#编写ActiveX控件
前些日子做一个Web项目,必须自己编写一个ActiveX控件。如今的ActiveX控件大多是使用VB/C++来开发的,而我对他们并不熟悉,因此考虑使用熟悉的C#编写ActiveX控件。 首先,建立一个WinForm控件项目HelloWorld,并拖入一个Label控件,文字设为HelloWorld,如图: UserControl1.cs内容如下: us转载 2008-03-09 12:26:00 · 300 阅读 · 0 评论 -
C# 下的HTTP断点续传
在了解HTTP断点续传的原理之前,让我们先来了解一下HTTP协议,HTTP协议是一种基于tcp的简单协议,分为请求和回复两种。请求协议是由客户机 (浏览器)向服务器(WEB SERVER)提交请求时发送报文的协议。回复协议是由服务器(web server),向客户机(浏览器)回复报文时的协议。请求和回复协议都由头和体组成。头和体之间以一行空行为分隔。 以下是一个请求报文与相应的回复报文的例子:原创 2008-03-09 11:44:00 · 371 阅读 · 0 评论 -
C#线程池
//ThreadPool(线程池)是一个静态类,它没有定义任何的构造方法(),我们只能够使用它的静态方法,这是因为,这是因为ThreadPool是托管线程池,是由CLR管理的。//ThreadPool使用WaitCallback委托,它所要做的工作是在后台进行的。使工作项的排队和运行更容易,可以给工作者线程传递一个状态对象(提供数据)。状态对象是私有的作用域位于线程层,所以不需要进行同步。//Th转载 2008-03-09 11:41:00 · 4837 阅读 · 2 评论 -
在.net中使用语音识别和语音合成技术
在.net中使用语音识别和语音合成技术,需要借助微软的Speech SDK,如果是要在Web应用程序中使用,则需要Speech Application SDK。其中Speech SDK可以在http://www.microsoft.com/speech/download/sdk51/下载,其中有两个文件Speech SDK 5.1和5.1 Language Pack,前者是开发包,但是其中只包含对转载 2008-03-09 11:37:00 · 2752 阅读 · 3 评论 -
多线程端口扫描程序
using System;; using System.Drawing;; using System.Collections;; using System.ComponentModel;; using System.Windows.Forms;; //增加的如下.. using System.Data;; using System.Net.Sockets;; using System.Net;;原创 2008-03-09 12:20:00 · 393 阅读 · 0 评论 -
控件随窗体自动缩放大小
/// /// 控件随窗体自动缩放 /// /// public static void AutoScale(Form frm) { frm.Tag = frm.Width.ToString() + "," + frm.Height.ToString(); frm.原创 2008-03-09 12:17:00 · 599 阅读 · 0 评论 -
C#文件网络传输
System.Sockes命名空间了实现 Berkeley 套接字接口。通过这个类,我们可以实现网络计算机之间的消息传输和发送.而在我下面要讨论的这个议题里,我们将讨论的是用套节子实现文件的传输.这种方法有别于FTP协议实现的的文件传输方法,利用ftp的方法需要一个专门的服务器和客户端,无疑于我们要实现的点对点的文件传输太为复杂了一些。在这里,我们实现一个轻量级的方法来实现点对点的文件传输,这样就原创 2008-03-09 12:09:00 · 1306 阅读 · 0 评论 -
利用VisualC#创作简单的多线程组件
可以编写能同时执行多个任务的应用程序。此能力(称为“多线程处理”或“自由线程处理”)是设计处理器密集型且要求用户输入的组件的强大方法。计算工资表信息的组件就是一个可能利用多线程处理的组件示例。该组件可以在一个线程上处理用户输入到数据库的数据,而在另一个线程上执行频繁使用处理器的工资表计算。通过在不同的线程上运行这些进程,用户不必等到计算机完成计算,就可以输入其他数据。在本演练中,将创建一个简单的多原创 2008-03-09 12:07:00 · 303 阅读 · 0 评论 -
C#多线程参数传递
我们在写Remoting程序或者其他的一些应用程序的时候难免要和线程打交道,.Net使我们很容易就可以创建一个线程,但是它提供的创建线程和启动线程的方法没有明显的提供参数,假如我们要用线程来启动类里面一个带参数的方法该怎么办?下面就简单的介绍如何使用.NET提供的丰富的框架来实现这个功能。为了可以生动详细的介绍整个过程,我建立下面的一个.NET类,它也是要用线程启动的方法的载体。类如下所示:原创 2008-03-07 15:07:00 · 562 阅读 · 1 评论 -
C#动态生成组件
通常在写程序的时候,当要用到某些组件,采用的方法一般都是动态创建,用完以后就释放掉。Visual C#在程序运行的时候也可以动态创建组件,下面就结合一个程序例子来具体介绍如何用Visual C#动态生成组件。首先让我们了解一下,在动态创建组件的过程中要用到的一些概论和理论。 一. Boxing (装箱)和Unboxing (出箱): 在用Visual C#动态创建组件的时候,要涉及到二转载 2008-03-09 12:22:00 · 514 阅读 · 0 评论 -
C#中使用多线程编程之线程池
1. 引言近来在研究C#多线程编程碰到了线程池的概念。不懂,我搜,于是在MSDN和CSDN上寻寻觅觅一番终于搞明白,“缘”来如此,安装本人理解修改后写下这篇文章,希望对后来者有所帮助。2. 线程池的概念可以使用线程池来根据应用程序的需要更为有效地利用多个线程。许多应用程序使用多个线程,但这些线程经常在休眠状态中耗费大量的时间来等待事件发生,编程者手动管理多个线程也是一件转载 2008-03-09 11:59:00 · 455 阅读 · 0 评论 -
C#多线程编程
单个写入程序/多个阅读程序在.Net类库中其实已经提供了实现,即System.Threading.ReaderWriterLock类。本文通过对常见的单个写入/多个阅读程序的分析来探索c#的多线程编程。 问题的提出 所谓单个写入程序/多个阅读程序的线程同步问题,是指任意数量的线程访问共享资源时,写入程序(线程)需要修改共享资源,而阅读程序(线程)需要读取数据。在这个同步问题中,很容易得到下面二转载 2008-03-09 11:56:00 · 291 阅读 · 1 评论 -
C#多线程编程
//一个简单的示例//HelloWordThread.cs//------------------------using System;using System.Threading;public class Test...{ static void Main() ...{ ThreadStart job = new ThreadStart(ThreadJob);转载 2008-03-09 11:52:00 · 608 阅读 · 0 评论 -
C#一个用于驱动摄像头的类
using System; using System.Runtime.InteropServices; using System.Drawing; using System.Drawing.Imaging; namespace using System; using System.Runtime.InteropServices; using System.Drawing; u原创 2008-03-09 11:34:00 · 399 阅读 · 0 评论 -
C#跨线程窗口调用
public void ShowChatRoom() ...{ ChatRoom room = CreateChatRoom(); if (room.InvokeRequired) ...{ EmptyMethod m = new EmptyMethod(room.Show);原创 2008-03-09 11:32:00 · 353 阅读 · 0 评论 -
多线程在Visual C#网络编程中的应用
网络应用程序的一般都会或多或少的使用到线程,甚至可以说,一个功能稍微强大的网络应用程序总会在其中开出或多或少的线程,如果应用程序中开出的线程数目大于二个,那么就可以把这个程序称之为多线程应用程序。那么为什么在网络应用程序总会和线程交缠在一起呢?这是因为网络应用程序在执行的时候,会遇到很多意想不到的问题,其中最常见的是网络阻塞和网络等待等。 程序在处理这些问题的时候往往需要花费很多的时间,如转载 2008-03-09 12:29:00 · 435 阅读 · 0 评论 -
C#多线程共享数据
在多线程编程中,我们经常要使用数据共享.C#中是如何实现的呢?很简单,只要把你要共享的数据设置成静态的就可以了.关键字static .如下:static Queue q1=new Queue();static int b=0;在这里我定义了一个整形变量b和队列q1.接下去就可以创建多线程代码了.如下:MyThread myc;Thread[] myt;myt=new Thread[10];myc=转载 2008-03-09 12:08:00 · 866 阅读 · 0 评论 -
Media Format SDK Translation
The following code create a 128 Kbps WMA file from your a MP3 file and if the bit rate of the MP3 file is greater than 128 Kbps then a recompressed 128 Kbps转载 2008-03-12 21:24:00 · 1098 阅读 · 0 评论