- 博客(8)
- 资源 (5)
- 收藏
- 关注
转载 C#的ApartmentState的属性:[STAThread]
每个Thread都有一个关于ApartmentState的属性,可以把它设置为:STA或者MTA,或者UNKNOWN。 当你想指定工程的启动窗口的时候,你需要在该窗口类中申明一个Main()方法,并为这个方法设置[STAThread]属性。 [STAThread]是Single Thread Apartment单线程套间的意思,是一种线程模型,用在程序的入口方法上 (在C#和VB.NET里是
2012-06-26 10:37:52 7716
转载 在C++中实现同步锁,类似synchronize(object){....}
在做C++的项目中发现,由于用惯了c#的lock(){}和java的Synchronize(){},windows自带的临界区,互斥量,内核事件,信号量用起来不太习惯,于是打算自己在vc++中封装一个类似的东东。封装这个我决定采用一个临界区来做,最终的形式如下: synchronize(object) { //....无论此处是否发生异常,object都能被释放掉。和c#的lock一样。
2012-06-19 13:21:10 3231
转载 Linux 下的线程读写锁
有一种写优先读写锁,有如下特点: 1)多个读者可以同时进行读 2)写者必须互斥(只允许一个写者写,也不能读者写者同时进行) 3)写者优先于读者(一旦有写者,则后续读者必须等待,唤醒时优先考虑写者) 在Solaris 中直接提供了读写锁, 但是在Linux 中只提供了线程的读写锁, 这里记录了一些读写锁的资料. 1.Solaris .vs. Linux Posix 库函数
2012-06-19 13:20:27 830
转载 Linux平台上用C++实现多线程互斥锁
在上篇用C++实现了Win32平台上的多线程互斥锁( http://www.linuxidc.com/Linux/2011-12/49713.htm ),这次写个Linux平台上的,同样参考了开源项目C++ Sockets的代码,在此对这些给开源项目做出贡献的斗士们表示感谢! 下边分别是互斥锁类和测试代码,已经在Fedora 13虚拟机上测试通过。 Lock.h
2012-06-19 13:19:30 1332
转载 用C++实现多线程Mutex锁(Win32)
本文目的:用C++和Windows的互斥对象(Mutex)来实现线程同步锁。 准备知识:1,内核对象互斥体(Mutex)的工作机理,WaitForSingleObject函数的用法,这些可以从MSDN获取详情; 2,当两个或更多线程需要同时访问一个共享资源时,系统需要使用同步机制来确保一次只有一个线程使用该资源。Mutex 是同步基元,它只向一个线程授予对共享资源的独占访问权。如果一个线程
2012-06-19 13:18:24 996
转载 指针数组和数组指针
指针数组,故名思义,就是指针的数组,数组的元素是指针; 数组指针,同样,就是直想数组的指针。 简单举例说明: int *p[2]; 首先声明了一个数组,数组的元素是int型的指针。 int (*p)[2]; 声明了一个指针, 指向了一个有两个int元素的数组。 其实这两种写法主要是因为运算符的优先级, 因为[]的优先级比*高。所以第一种
2012-06-07 10:57:11 580
转载 C++ string祥解
之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 =进行赋值操作,==进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。 好了,进入正题……… 首先,为了在我们的程序中使用stri
2012-06-01 16:26:27 3058 2
转载 c/c++字符串处理大集合
rember this strncpy(a,b,5); a[5]='\0'; char a[10]; memset(a,'#',sizeof(a)); a[10]='\0'; 刚开始学C/C++时,一直对字符串处理函数一知半解,这里列举C/C++字符串处理函数 ,希望对初学者有一定的帮助。 C: char st[100]; 1. 字符串长度 strlen(st); 2
2012-06-01 11:44:34 885
windowresize
2013-03-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人