文章分类 - c/c++
摘要:现在有个任务,要求,先让最上边的编辑框内容加到100,然后开始执行下边的编辑框才能读取操作,并且要求下边的编辑框一次同时执行2个线程? 使用事件能解决这个问题吗? 明显不能,因为事件无法控制同时执行的线程数量,但是信号量可以。 代码如下: #include <Windows.h> #include
阅读全文
摘要:问题: 1个线程负责生产,1个线程负责消费。 #include <Windows.h> #include "OutPut.h" int share_res =0; int Max = 10; DWORD WINAPI ThreadProduce( __in LPVOID lpParameter) {
阅读全文
摘要:事件: HANDLE CreateEvent( LPSECURITY_ATTRIBUTES lpEventAttributes, BOOL bManualReset, BOOL bInitialState, LPTSTR lpName ); 前边学习了,临界区、互斥体,为什么要学事件呢? 学习要带着
阅读全文
摘要:#include <Windows.h> #include "resource.h" #include <stdio.h> HINSTANCE hins; HANDLE Hmutex; DWORD WINAPI ThreadH1Proc( __in LPVOID hwndDlg){ int flag
阅读全文
摘要:第一种代码实现,参考别人的代码,利用无限循环的标志: //抢红包练习互斥 #include <windows.h> #include "OutPut.h" #include "resource1.h" #include <stdio.h> HINSTANCE hins; HANDLE HMain;
阅读全文
摘要:上一篇解决线程安全问题(同时读写)的方法是使用临界区,临界区的思路其实就是互斥。 互斥就是:同一时间只有1个线程执行。 同步就是:多个线程交替执行。 阻塞的本质:其实就是无限循环。 互斥体和临界区有什么区别: 1、临界区,没有等待时间,一直等令牌。 2、互斥体可以设置等待时间,如果超时,就会返回,或
阅读全文
摘要:1、我们知道每次当函数执行的时候,都会把函数的参数压栈 2、然后提升堆栈 3、在堆栈中使用局部变量和参数,参与函数的执行。 那么线程执行的时候,其实就是执行1个线程回调函数,也会进行同样的操作,因此每个线程都会有自己的堆栈的空间。 换句话说: 不管同时启动多少个线程,每个线程都会有自己的堆栈空间。
阅读全文
摘要:线程控制主要使用的函数 CreateThread(NULL,NULL,ThreadAdd1Proc,(LPVOID*)1,0,NULL);` //创建线程的方式 SuspendThread(hanThread); //挂起线程 ResumeThread(hanThread); //恢复线程 Exit
阅读全文
摘要:程序放在硬盘就是二进制文件 跑起来的程序就是进程 进程怎么跑起来,就是靠线程跑起来 程序跑起来有一条线,就是线程 进程是静止不动的,就是4GB的空间(32位系统) 线程的动态的。 经典: 进程就是4GB 线程就是EIP 进程就像1个房子,线程共享房子里面的资源。 线程,主要是学好CreateThre
阅读全文
摘要:这些常用的控件,叫标准控件。 其他不常用的控件,叫做通用控件,就放在一个dll中,windows通用控件,放在Comctl32.dll中使用的时候,要在文件头加 #include<commctrl.h> #pragma comment(lib,"comctl32.lib") 在vc6低版本中,在使用
阅读全文
摘要:先创建1个空的win32项目 然后在资源文件 >右键 >添加*.rc 添加完之后,解决方案会多出来2个文件 然后切换到“资源视图”-->右键 >添加资源 >Dialog 就会出来1个对话框 然后在“解决方案管理器”中添加一个cpp文件,作为入口函数。 #include <windows.h> int
阅读全文
摘要:本节我们学习一下子窗口的消息循环的过程: 首先我们创建1个win32的windows应用程序 然后利用上篇的代码先创建1个窗口 // 21C++SonOfWindowLoop.cpp : 定义应用程序的入口点。 // #include "stdafx.h" #include "21C++SonOfW
阅读全文
摘要:实验代码如下: // 20C++Win32CreateWind.cpp : 定义应用程序的入口点。 // #include "stdafx.h" #include "20C++Win32CreateWind.h" #include "OutPut.h" LRESULT CALLBACK WndPro
阅读全文
摘要:win32编程中一切都是消息。 当在windows中比如鼠标点下去或者移动等操作会产生一个动作,这个动作就是消息。 问题一:传递的消息里面应该包括哪些内容? 1、坐标,比如点击的问题 2、点击的对象,比如点击的是哪个窗体。 3、鼠标左键还是右键,消息的类型。 因此查看MSDN中的消息定义,可以知道:
阅读全文
摘要:标准ASCII码:开头为0,长度为1个字节表示,0XXXXXXX 扩展ASCII码:开头为1,长度1个字节:1XXXXXXX 中文GB3212/GB1232-80:2个扩展ASCII字节合并在一起表示,并且每个字节开头都是1:1XXXXXXX 1YYYYYYY。 存在的问题: 1、乱码,因为GB32
阅读全文
摘要:1、你理解的二叉树的前中后序遍历是什么,仅仅是三个顺序不同的 List 吗? 2、请分析,后序遍历有什么特殊之处? 3、请分析,为什么多叉树没有中序遍历? 所谓前序位置,就是刚进入一个节点(元素)的时候,后序位置就是即将离开一个节点(元素)的时候,那么进一步,你把代码写在不同位置,代码执行的时机也不
阅读全文
摘要:二叉树代码: #include "stdafx.h" #include <string.h> class Monster{ public: Monster(){ }; Monster(int ID,int Level,char* Name){ this->id = ID; this->level=
阅读全文
摘要:递归的本质就是: 自己调用自己(关键是如何自己调用自己)。 求:1,2,3,……100的和,我们知道结果是5050. 正常逻辑:1+2+3+4+……+100. 逆向逻辑:s(100) = s(99) + 100; s(99) = s(98) + 99; …………………………… s(1) = 1; 转
阅读全文
摘要:#define SUCCESS 1 //执行成功 #define ERROR -1 //执行失败 #define INDEX_ERROR -2 //索引号错误 #define BUFFER_EMPTY -3 //缓冲区为空 template<class LK_ELE> class LinkNode{
阅读全文

浙公网安备 33010602011771号