上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 24 下一页
摘要: 多线程程序需要注意两件事:互斥和同步; 互斥是多个线程访问同一个资源时,要保证同一时刻只能有一个线程访问该资源; 互斥常用的实现方式有:临界区和互斥体; 临界区无法跨进程,互斥体可以; 互斥体是内核对象,内核对象需要对0环进行操作,效率不如临界区; 同步是为了线程按顺序执;例如两个线程,希望某一个线 阅读全文
posted @ 2020-01-04 14:21 L丶银甲闪闪 阅读(340) 评论(0) 推荐(0) 编辑
摘要: 1.内核对象 内核对象是由操作系创建和维护的,在程序的高2g内存中创建; 进程可以共享内核对象; 常见的内核对象:进程、线程、文件、文件映射、事件、互斥体等等 1)内核对象的创建 各种内核对象有各自的创建API函数; 内核对象是由操作系统创建的,三环程序只能用API函数告诉系统需要创建一个内核对象; 阅读全文
posted @ 2020-01-04 10:34 L丶银甲闪闪 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 1.等待函数 1)WaitForSingleObjectDWORD WaitForSingleObject( HANDLE hHandle, // handle to object DWORD dwMilliseconds // time-out interval ); 功能说明: 等待函数可使线程 阅读全文
posted @ 2020-01-02 14:10 L丶银甲闪闪 阅读(711) 评论(0) 推荐(0) 编辑
摘要: 1.线程不安全的原因 一个进程的4GB空间中可能有多个线程; 每一个线程都有自己的堆栈; 堆栈中放参数、局部变量等; 如果线程只使用参数和局部变量不会有线程安全问题; 当多个线程访问同一资源例如放在全局变量区中的全局变量时可能会有线程安全问题; 例如一个线程读另一个线程写或者两个线程都写同一个全局变 阅读全文
posted @ 2019-12-30 08:39 L丶银甲闪闪 阅读(399) 评论(0) 推荐(0) 编辑
摘要: 1.线程控制 控制线程状态的API函数: //挂起线程: ::SuspendThread(hThread); //恢复线程: ::ResumeThread(hThread); //终止线程: //方式一: ::ExitThread(DWORD dwExitCode); //参数中没有线程句柄,在线程 阅读全文
posted @ 2019-12-26 12:12 L丶银甲闪闪 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 1.进程与线程 程序: 当代码写完后,编译会生成一个.exe文件,存储在硬盘中;这就是程序; 内存镜像: exe文件双击执行时,会加载到内存中; exe文件在内存中的状态和在文件中的状态不同; 内存中的状态是pe结构拉伸后的状态; pe结构拉升后的状态称为内存镜像; pe文件的内存镜像并不一定可以运 阅读全文
posted @ 2019-12-25 13:55 L丶银甲闪闪 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 1.标准控件 可以在win32窗口程序中添加资源脚本来给程序添加标准控件; 具体操作为:新建资源脚本 ->在.rc文件中添加控件 ->给控件绑定事件; 常用的标准控件: Static ->组框,用来将窗口分成多个块 Group Box Button Check Box Radio Button Ed 阅读全文
posted @ 2019-12-23 15:00 L丶银甲闪闪 阅读(1602) 评论(0) 推荐(1) 编辑
摘要: win32程序编译完成后会有默认的图标,很丑; 也可以自己添加图标; 1.给win32程序添加图标 首先下载.ico格式的图标,放入工程目录中; 打开xx.rc文件 -》右键选中xx.rc -》插入 -》选图标Icon -》引入 -》选自己下载的.icon 添加完成后,可以在resource.h中看 阅读全文
posted @ 2019-12-21 17:53 L丶银甲闪闪 阅读(395) 评论(0) 推荐(1) 编辑
摘要: 1.快捷创建窗口 win32程序创建窗口需要:定义窗口类、注册窗口类、创建窗口、写回调函数来处理消息、添加消息循环来接收消息等等; 还有另外一种创建窗口的方式:利用资源文件; 先创建一个空的win32项目; 在项目中添加资源文件: File -> New -> Resource Script 创建成 阅读全文
posted @ 2019-12-16 14:56 L丶银甲闪闪 阅读(430) 评论(0) 推荐(0) 编辑
摘要: 1.按钮是什么 在win32窗口中,经常可以看到按钮,点击按钮可以触发各种事件; 创建按钮的函数: void CreateButton(HWND hwnd) //参数为父窗口句柄,按钮必须属于一个父窗口,因此该函数只要在父窗口创建完成即父窗口的CreateWindow函数调用完成之后就能调用; { 阅读全文
posted @ 2019-12-12 16:28 L丶银甲闪闪 阅读(1879) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 24 下一页