c#
文章平均质量分 61
codedoctor
正在学习计算机相关
展开
-
C# 多线程学习(二)线程操作
在C#创建一个线程的时候,通常使用Thread类,然后提供一个线程入口,Thread thread =new Thread(functionName),线程的入口通过ThreadStart代理(delegate)来提供,你可以把ThreadStart 当作一个函数指针,指向线程所要执行的函数(或者说 方法),当调用Thread.Start()方法后,线程就开始执行ThreadStart所代表或者说指原创 2017-06-28 22:00:27 · 699 阅读 · 0 评论 -
C# 多线程学习(一)多线程的概念
首先我们先谈一谈什么是进程吧一个可执行文件的代码可以说是一个程序,当这个程序开始执行和装载之后,其所用到的所有内存和系统资源就叫做进程 同时,一个进程又由一个或则多个线程组成 线程又是什么呢? 线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是和进程中的其他线程共享的,即不同的线程可以执行同样的函数 什么是多线程? 多线程是指程序中包含多个执行流,即原创 2017-06-28 21:36:00 · 625 阅读 · 0 评论 -
C# 多线程学习(四)带参数的线程启动
在很多应用下,我们想要执行一个不带有一定先决条件的任务,比如如下代码:using System;using System.Threading;namespace threadTest{ class Program { int interval = 200;//间隔时间 static void Main() {原创 2017-07-04 16:34:56 · 9819 阅读 · 0 评论 -
C# 多线程学习(五)线程同步和冲突解决
首先先说一个线程不同步的例子吧,以下为售票员的模拟售票,多个售票员出售100张门票,代码如下:using System;using System.Text;using System.Collections.Generic;using System.Threading;namespace threadTest{ class Program { class Thre原创 2017-07-04 22:04:30 · 8584 阅读 · 1 评论 -
C# 多线程学习(六)线程池(ThreadPool)——线程资源的复用和自动管理
什么是线程池大家都知道,我们在打开一个应用的时候,操作系统是要做很多的事情的,动态链接、装载、分配虚拟空间、等等等等,其实一个应用的打开同时也伴随着一个进程的建立。进程的建立是需要时间的,在进程上开线程也是需要消耗CPU时间,操作系统需要分配给新开的线程地址空间、栈空间、寄存器等,在线程结束的时候,操作系统又将这些东西回收(着同样需要消耗时间)。所以我们在多线程的处理中如果遇到要很多次地开启线程去处原创 2017-07-06 22:33:14 · 9151 阅读 · 2 评论 -
C# 多线程学习(三)Socket 服务器与客户端通信
正好最近用到了Socket实现了一个大小屏幕互动的应用,所以就写一下关于多线程和Socket合作编写的服务器客户端的基础教学吧。 以下分别为服务器和客户端的简单demo,分成两个C#控制台程序编译运行就可以直接互相通信了。注意端口绑定一定要一致。以下为服务器端的代码:using System.Net;using System.Net.Sockets;using System;using Sy原创 2017-07-04 13:16:13 · 2511 阅读 · 0 评论