随笔分类 - C
摘要:1.EOF 代表-1,在文本中会被解析为减号和1两个字符,或更精确地说成C标准函数库中表示文件结束符(end of file)。在这种以EOF作为文件结束标志的文件,必须是文本文件。在文本文件中,数据都是以字符的ASCII代码值的形式存放。我们知道,ASCII代码值的范围是0~127,不可能出现-1
阅读全文
摘要:1. 外部介质,外部介质是针对内存来说的 ,输入输出设备,比如键盘/显示器以及打印机等,将计算机操作外部设备,包括驱动程序,都是以读写文件的模式交换信息的。就和linux一样,一切皆文件。2. 文件的分类: 按文件的逻辑结构 记录文件:由具有一定结构的记录组成(定长和不定长) 流式文件:由一个个字符
阅读全文
摘要:1. 如果做游戏开发,为了时间单独写一个线程不太划算,CreateWaitableTimerA之类的是内核对象,因为多个时钟都有同一个名称,就可以让多个线程同时读取一个时钟。。 2. 如果要用到多个定时器,应该设定好每个定时器的名字,如果是匿名那就只能是一个。 3.例子 时间定时器还允许回调函数 3
阅读全文
摘要:event天生的弱势,只有mutex可以感知丢失,就是将另一个进程关闭了,event无法感知。 event1: event2:
阅读全文
摘要:1.操作系统分为ring0(内核层)和ring3(应用层)两层。 ring0层出错会蓝屏,ring3层出错程序就会挂了。 event和mutex创建他的指针是应用层,但是它的内部是ring0层,ring0层可以看到所有的进程的内存。一个进程不能读写另外一个进程的内存,我们必须通过注释的方式 even
阅读全文
摘要:1.互斥锁写入或者读取的时候都可以锁定。 2.互斥锁中的函数 InitializeSRWLock函数功能:初始化读写锁函数原型:VOID InitializeSRWLock(PSRWLOCK SRWLock);函数说明:初始化(没有删除或销毁SRWLOCK的函数,系统会自动清理) AcquireSR
阅读全文
摘要:互斥量:某段时间只能让一个线程运行,其他休眠。 信号量:多个线程运行,其他线程休眠 临界区:只能让一个线程运行,其他休眠。 原子操作:操作速度最快,因为他不需要等待和切换线程。 事件也可以实现线程互斥。 1.信号量 主要解决线程通信,实现同一时刻多个线程同时访问一个资源,当同一时刻只有一个线程在访问
阅读全文
摘要:1._beginthread() 假如成功,函数将会返回一个新线程的句柄(HANDLE是void *类型) HANDLE hd =_beginthread(CheckKey, 0, NULL) 新线程的起始地址 ,指向新线程调用的函数的起始地址 新线程的栈大小,可以为0 传递给线程的参数列表,无参数
阅读全文
摘要:转自:http://www.jb51.net/article/41459.htm 我们知道在Windows下创建一个线程的方法有两种,一种就是调用Windows API CreateThread()来创建线程;另外一种就是调用MSVC CRT的函数_beginthread()或_beginthrea
阅读全文
摘要:互斥,解决线程冲突 事件,解决线程通信 临界区,解决线程冲突 时间,同步线程 有时线程之间的信号不同步或者乱序。这时需要信号复位。event[0] = CreatEvent(NULL, TRUE, FALSE, NULL);//第二个参数;TRUE代表手动复位 (就是用ResetEvent), FA
阅读全文
摘要:1.数据库由两部分来构成的 打开一个连接工具,用工具给MySQL发送命令,实际上是给数据库当中的服务下的命令,在服务当中解析命令,最终将命令转化成对物理库上文件IO的操作。所以数据库的安装位置有两个:数据库服务位置:MySQL Server数据库数据文件位置:Server data filesmys
阅读全文
摘要:定时的要完成一些事情。时间的线程同步。操作系统中,每打开一个窗口,每个窗口都有一个地址,操作系统管理他是通过链表来管理的。
阅读全文
摘要:1.原子操作的速度要快于临界区,event,互斥量,如果多个线程同时写一个变量时,最方便的就是原子操作。原子操作函数,解决多线程安全2.原子变量也是为了解决线程冲突问题,如果两个线程同时访问同一个变量,一个线程改变了这个变量,另一个线程就会出现一些bug。3.release和debug模式relea
阅读全文
摘要:线程互斥是为了解决线程的冲突问题。同一个互斥量,只能解决64个线程,这是家用电脑的限制,在服务器上就不会。
阅读全文
摘要:1.使用事件去控制线程1和线程2 Wait...中将INFINITE改成5000就表示等待5秒,而不是无限,它的单位是毫秒。
阅读全文
摘要:1 printf,是把格式字符串输出到标准输出(一般是屏幕,可以重定向)。2 sprintf,是把格式字符串输出到指定字符串中,所以参数比printf多一个char*。那就是目标字符串地址。3 fprintf, 是把格式字符串输出到指定文件设备中,所以参数笔printf多一个文件指针FILE*以后碰
阅读全文
摘要:临界区解决线程冲突问题,多个线程操作同一个变量,会引发这样对待问题。 注意:不要让多个程序同时访问一个变量,如果要访问,急用临界区来操作,或让他们每个时间段每个时间段来访问。 1.下面的程序中,得到的正确结果应该是200000,但是它实际上得到的结果极其不稳定,同时运行每一个线程,可能会有几个就漏掉
阅读全文
摘要:1.创建多线程 Windows下创建一个线程的方法有两种,一种就是调用Windows API CreateThread()来创建线程;另外一种就是调用MSVC CRT的函数_beginthread()或_beginthreadex()来创建线程。 相应的退出线程也有两个函数Windows API的E
阅读全文
摘要:typedef struct queue{ datatype data; struct queue *pNext;}Queue, *pQueue;Queue *enq() pQueue enq()这两个是等价的
阅读全文

浙公网安备 33010602011771号