ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

C++ ¾²Ì¬³ÉÔ±±äÁ¿ ÔÚÀàÖеÄʵÏÖ
2014-11-24 07:34:57 À´Ô´: ×÷Õß: ¡¾´ó ÖРС¡¿ ä¯ÀÀ:1´Î
Tags£º¾²Ì¬ ³ÉÔ± ±äÁ¿ ʵÏÖ

Ó÷¨£º


1¡¢¾²Ì¬³ÉÔ±±äÁ¿£¬ÔÚÀàÖÐÒÔstatic ±êʶ£¬¸ñʽ£º static ;


2¡¢¾²Ì¬³ÉÔ±±äÁ¿ÐèÒªÔÚÀàÍâÃæ³õʼ»¯²ÅÄܹ»Ê¹Óᣳõʼ»¯²»ÒªÔÚ¹¹Ô캯Êý³õʼ»¯£¬»áÆÆ»µÊý¾Ý£¨¿´Àý×Ó£©¡£ÀàÍâ³õʼ»¯»áÔÚÈ«¾ÖÊý¾ÝÇøÉêÇë¿Õ¼ä£»ÀàÍâÖ»×÷ÁËÉùÃ÷ûÓнøÐи³ÖµµÄ»°£¬¾Í»áÔÚbssÇø±ê¼ÇÏÂÀ´£¬´ýÔËÐÐʱϵͳ»á³õʼ»¯Îª0¡££¨ÖÁÓÚ£¬Êý¾ÝÇø£¬bssÇøµÄ˵Ã÷£¬Çë²é¿´Ïà¹Ø×ÊÁÏ¡££©


3¡¢ÎÞÂÛ´´½¨¼¸¸öÀà¶ÔÏ󣬾²Ì¬±äÁ¿ÔÚÀàÖÐÖ»±£ÁôÒ»·Ý£¬±»¶à¸ö¶ÔÏó¹²Ïí£¬ËùÒÔ¶ÁÈ¡ºÍдÈëʱ×îºÃÒ²Óиö¾²Ì¬µÄ»¥³âËø°ÑËüËø×¡£¬ÔÙ½øÐжÁд¡£


²é¿´Àý×ÓÔ­Â룺cat main.cpp


Àý£º


#include


#include


#include


class CIstatic{


public:


//****************down*****************


CIstatic()


{


m_fd[0] = -1;


m_fd[1] = -1; //ΣÏյľ²Ì¬³ÉÔ±±äÁ¿ÔÚ¹¹Ô캯Êý³õʼ»¯¡£


m_fd[2] = -1;


}


//*****************up*******************


void setVal()


{


m_fd_mutex.lock();


m_fd[0] = 1;


m_fd[1] = 2;


m_fd_mutex.unlock();


}


void printVal()


{


m_fd_mutex.lock();


printf("m_fd[0]:%d,m_fd[1]:%d,m_fd[2]:%d\n",m_fd[0],m_fd[1],m_fd[2]);


m_fd_mutex.unlock();


}


private:


static int m_fd[3];


static std::mutex m_fd_mutex;


};


int CIstatic::m_fd[3]; //ÀàÍâÉùÃ÷£¬Î´³õʼ»¯¸³Öµ¡£


std::mutex CIstatic::m_fd_mutex; //ÀàÍâÉùÃ÷£¬Î´³õʼ»¯¸³Öµ¡£


int main(int argc, const char *argv[])


{


CIstatic cStaticA;


cStaticA.setVal();


cStaticA.printVal();


sleep(1);


CIstatic cStaticB; //ÖØÐÂн¨ÄÚ¶ÔÏó¡£


cStaticB.printVal();


return 0;


}


±àÒ룺g++ -std=c++0x -o test.i386.elf main.cpp


ÔËÐнá¹û£º


1¡¢Î´ÆÁ±Î¹¹Ô캯Êýǰ£º


m_fd[0]:1,m_fd[1]:2,m_fd[2]:-1


m_fd[0]:-1,m_fd[1]:-1,m_fd[2]:-1


2¡¢ÆÁ±Î¹¹Ô캯Êýºó£º


m_fd[0]:1,m_fd[1]:2,m_fd[2]:0


m_fd[0]:1,m_fd[1]:2,m_fd[2]:0


¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
·ÖÏíµ½: 
ÉÏһƪ£ºOpenGLÈýάÇòÌåÊý¾ÝÉú³ÉÓë»æÖÆ¡¾.. ÏÂһƪ£ºAndroidÇý¶¯Ê¹ÓÃJNIµ÷ÓÃ

ÆÀÂÛ

ÕÊ¡¡¡¡ºÅ: ÃÜÂë: (ÐÂÓû§×¢²á)
Ñé Ö¤ Âë:
±í¡¡¡¡Çé:
ÄÚ¡¡¡¡ÈÝ:

¡¤Linuxϵͳ¼ò½é (2025-12-25 21:55:25)
¡¤Linux°²×°MySQL¹ý³Ì (2025-12-25 21:55:22)
¡¤Linuxϵͳ°²×°½Ì³Ì£¨ (2025-12-25 21:55:20)
¡¤HTTP Åc HTTPS µÄ²î„ (2025-12-25 21:19:45)
¡¤ÍøÕ¾°²È«±ØÐ޿ΣºÍ¼ (2025-12-25 21:19:42)