上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 42 下一页
摘要: event天生的弱势,只有mutex可以感知丢失,就是将另一个进程关闭了,event无法感知。 event1: event2: 阅读全文
posted @ 2016-08-21 09:51 芬乐 阅读(616) 评论(0) 推荐(0) 编辑
摘要: 1.操作系统分为ring0(内核层)和ring3(应用层)两层。 ring0层出错会蓝屏,ring3层出错程序就会挂了。 event和mutex创建他的指针是应用层,但是它的内部是ring0层,ring0层可以看到所有的进程的内存。一个进程不能读写另外一个进程的内存,我们必须通过注释的方式 even 阅读全文
posted @ 2016-08-21 09:30 芬乐 阅读(3767) 评论(0) 推荐(1) 编辑
摘要: 1.互斥锁写入或者读取的时候都可以锁定。 2.互斥锁中的函数 InitializeSRWLock函数功能:初始化读写锁函数原型:VOID InitializeSRWLock(PSRWLOCK SRWLock);函数说明:初始化(没有删除或销毁SRWLOCK的函数,系统会自动清理) AcquireSR 阅读全文
posted @ 2016-08-20 11:41 芬乐 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 互斥量:某段时间只能让一个线程运行,其他休眠。 信号量:多个线程运行,其他线程休眠 临界区:只能让一个线程运行,其他休眠。 原子操作:操作速度最快,因为他不需要等待和切换线程。 事件也可以实现线程互斥。 1.信号量 主要解决线程通信,实现同一时刻多个线程同时访问一个资源,当同一时刻只有一个线程在访问 阅读全文
posted @ 2016-08-20 10:23 芬乐 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 1._beginthread() 假如成功,函数将会返回一个新线程的句柄(HANDLE是void *类型) HANDLE hd =_beginthread(CheckKey, 0, NULL) 新线程的起始地址 ,指向新线程调用的函数的起始地址 新线程的栈大小,可以为0 传递给线程的参数列表,无参数 阅读全文
posted @ 2016-08-19 10:44 芬乐 阅读(946) 评论(0) 推荐(0) 编辑
摘要: 转自:http://www.jb51.net/article/41459.htm 我们知道在Windows下创建一个线程的方法有两种,一种就是调用Windows API CreateThread()来创建线程;另外一种就是调用MSVC CRT的函数_beginthread()或_beginthrea 阅读全文
posted @ 2016-08-19 10:09 芬乐 阅读(5455) 评论(1) 推荐(0) 编辑
摘要: 互斥,解决线程冲突 事件,解决线程通信 临界区,解决线程冲突 时间,同步线程 有时线程之间的信号不同步或者乱序。这时需要信号复位。event[0] = CreatEvent(NULL, TRUE, FALSE, NULL);//第二个参数;TRUE代表手动复位 (就是用ResetEvent), FA 阅读全文
posted @ 2016-08-19 08:39 芬乐 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 1.数据库由两部分来构成的 打开一个连接工具,用工具给MySQL发送命令,实际上是给数据库当中的服务下的命令,在服务当中解析命令,最终将命令转化成对物理库上文件IO的操作。所以数据库的安装位置有两个:数据库服务位置:MySQL Server数据库数据文件位置:Server data filesmys 阅读全文
posted @ 2016-08-18 15:21 芬乐 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 定时的要完成一些事情。时间的线程同步。操作系统中,每打开一个窗口,每个窗口都有一个地址,操作系统管理他是通过链表来管理的。 阅读全文
posted @ 2016-08-18 11:53 芬乐 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 1.原子操作的速度要快于临界区,event,互斥量,如果多个线程同时写一个变量时,最方便的就是原子操作。原子操作函数,解决多线程安全2.原子变量也是为了解决线程冲突问题,如果两个线程同时访问同一个变量,一个线程改变了这个变量,另一个线程就会出现一些bug。3.release和debug模式relea 阅读全文
posted @ 2016-08-18 10:46 芬乐 阅读(2776) 评论(0) 推荐(0) 编辑
上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 42 下一页