进程、线程亲缘性和画笔CPen

l         进程亲缘性

l         线程亲缘性

l         画笔CPen

 

一、进程线程亲缘性

 SetProcessAffinityMask  //设置进程 可以使用的CPU

SetThreadAffinityMask  //设置进程 可以使用的CPU

void CDialog_Thread_Priority_test::OnBnClickedButton5()

{

// TODO: 在此添加控件通知处理程序代码

HANDLE ph=GetCurrentProcess();

SetProcessAffinityMask(ph,1);

CloseHandle(ph);

}

二、画笔CPen

CPen::CPen

CPen( int nPenStyle, int nWidth, COLORREF crColor );

nPenStyle://画笔样式

PS_SOLID  实线

PS_DOT    虚线

void CDialog_Thread_Priority_test::DrawRect(UINT edt_ID, UINT* pWidth)

{

CRect r1,r2,r3;

GetWindowRect(&r1);//主窗口矩形坐标

GetDlgItem(edt_ID)->GetWindowRect(&r2);//控件屏幕坐标

//转换坐标

int x,y;

x=r2.left-r1.left;

y=r2.top-r1.top;

int width,height;

height=r2.bottom-r2.top;//取得控件高度

width=r2.right-r2.left;//取得控件宽度

r3.left=x+width+2;//x1

r3.top=y; //y1

r3.right=r3.left+*pWidth;//x2

r3.bottom=r3.top+height;//y2

CDC *pdc=GetWindowDC();

CPen pen(PS_DOT,1,RGB(255,222,0));

CPen *oldpen=pdc->SelectObject(&pen);

pdc->Rectangle(r3);

pdc->SelectObject(oldpen);

ReleaseDC(pdc);

}

进程、线程亲缘性和画笔CPen

时间: 2024-08-29 19:36:07

进程、线程亲缘性和画笔CPen的相关文章

SetThreadAffinityMask设置线程亲缘性

The SetThreadAffinityMask function sets a processor affinity mask for the specified thread. [delphi] view plaincopyprint? DWORD_PTR SetThreadAffinityMask( HANDLE hThread, DWORD_PTR dwThreadAffinityMask ); Parameters hThread [in] Handle to the thread

回炉重造之重读Windows核心编程-007-线程的调度、优先级与亲缘性

Windows被设计成一个抢占式的操作系统,用某种算法来确定哪些线程应该在何时被调度和运行多长时间.每隔20ms左右,Windows就要查看当前所有线程的内核对象,找到可以被调度的一个,将它加载到CPU寄存器中.这个操作成为上下文切换.Windows实际上保存了一个记录,说明每个线程获得了多少次运行的机会.使用MicrosoftSpy++这个工具可以了解这个情况. 一个线程随时可以停止运行,一个线程可以进行调度.可以对线程进行一定程度的控制,但是不能太多.不能保证一个线程做任何事. 7.1暂停和

Windows内核之线程的调度,优先级,亲缘性

1 调度 Windows不是实时操作系统,它是抢占式多线程操作系统.在假设所有优先级相同的情况下,CPU对线程的调度原则是每隔20m就会切换到下一个线程,根据Context中的IP和SP来接着执行上次的东西.Windows永远不会让1个线程去独占一段时间. 2 可调度性 系统只调用可以调度的线程,其实系统的大部分线程都是处于不可调度的状态,要么处于暂停的状态,要么处于休眠的状态. 3 线程的暂停和恢复 <1>在CreateThread的时候通过制定CREATE_SUSPENDED来让线程暂停执

设置线程的亲缘性(指定其所运行的CPU核心)

#include <stdio.h> #include <windows.h> #include <process.h> #include <time.h> unsigned int _stdcall thread_proc(void* arg) { double x = 100.0; int r = 0; srand((unsigned)time(0) ); while(1) { r = rand();//模拟运算 x/=r; } return 0; }

【记录一个问题】android ndk下设置线程的亲缘性,总有两个核无法设置成功

参考了这篇文章:https://blog.csdn.net/lanyzh0909/article/details/50404664 大体的代码如下: #include <pthread.h> #include <sched.h> #include <stdio.h> #include <stdlib.h> #include <sys/sysinfo.h> #include <sys/types.h> #include <unis

Linux CPU亲缘性详解

前言 在淘宝开源自己基于nginx打造的tegine服务器的时候,有这么一项特性引起了笔者的兴趣.“自动根据CPU数目设置进程个数和绑定CPU亲缘性”.当时笔者对CPU亲缘性没有任何概念,当时作者只是下意识的打开了google并输入CPU亲缘性(CPU Affinity)简单了做了个了解. 后来,在笔者参加实际工作以后,就碰到了这么两个问题. 问题一:如何在SMP的系统中,保证某个特定进程即使在其他进程都很忙的情况下都能够获得足够的CPU资源?解决的思路主要有以下两种: 提高进程的处理优先级 从

Linux下进程线程,Nignx与php-fpm的进程线程方式

1.进程与线程区别 进程是程序执行时的一个实例,即它是程序已经执行到课中程度的数据结构的汇集.从内核的观点看,进程的目的就是担当分配系统资源(CPU时间.内存等)的基本单位. 线程是进程的一个执行流,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.一个进程由几个线程组成(拥有很多相对独立的执行流的用户程序共享应用程序的大部分数据结构),线程与同属一个进程的其他的线程共享进程所拥有的全部资源. "进程——资源分配的最小单位,线程——程序执行的最小单位" 进程有独立的地

进程线程协程那些事儿

一.进程与线程 1.进程 我们电脑的应用程序,都是进程,假设我们用的电脑是单核的,cpu同时只能执行一个进程.当程序出于I/O阻塞的时候,CPU如果和程序一起等待,那就太浪费了,cpu会去执行其他的程序,此时就涉及到切换,切换前要保存上一个程序运行的状态,才能恢复,所以就需要有个东西来记录这个东西,就可以引出进程的概念了. 进程就是一个程序在一个数据集上的一次动态执行过程.进程由程序,数据集,进程控制块三部分组成.程序用来描述进程哪些功能以及如何完成:数据集是程序执行过程中所使用的资源:进程控制

操作系统:进程/线程同步的方式和机制,进程间通信

一.进程/线程间同步机制. 临界区.互斥区.事件.信号量四种方式临界区(Critical Section).互斥量(Mutex).信号量(Semaphore).事件(Event)的区别1.临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问.在任意时刻只允许一个线程对共享资源进行访问,如果有多个线程试图访问公共资源,那么在有一个线程进入后,其他试图访问公共资源的线程将被挂起,并一直等到进入临界区的线程离开,临界区在被释放后,其他线程才可以抢占.2.互斥量:采用互斥对象机