Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

LinuxÏß³Ìͬ²½: »¥³âÁ¿(mutex)

»¥³âÁ¿´Ó±¾ÖÊÉÏ˵¾ÍÊÇÒ»°ÑËø, Ìṩ¶Ô¹²Ïí×ÊÔ´µÄ±£»¤·ÃÎÊ.
1. ³õʼ»¯:
    ÔÚLinuxÏÂ, Ï̵߳Ļ¥³âÁ¿Êý¾ÝÀàÐÍÊÇpthread_mutex_t. ÔÚʹÓÃǰ, Òª¶ÔËü½øÐгõʼ»¯:
¶ÔÓÚ¾²Ì¬·ÖÅäµÄ»¥³âÁ¿, ¿ÉÒÔ°ÑËüÉèÖÃΪPTHREAD_MUTEX_INITIALIZER, »òÕßµ÷ÓÃpthread_mutex_init.
¶ÔÓÚ¶¯Ì¬·ÖÅäµÄ»¥³âÁ¿, ÔÚÉêÇëÄÚ´æ(malloc)Ö®ºó, ͨ¹ýpthread_mutex_init½øÐгõʼ»¯, ²¢ÇÒÔÚÊÍ·ÅÄÚ´æ(free)ǰÐèÒªµ÷ÓÃpthread_mutex_destroy.
Ô­ÐÍ:
int pthread_mutex_init(pthread_mutex_t *restrict mutex, const pthread_mutexattr_t *restric attr);
int pthread_mutex_destroy(pthread_mutex_t *mutex);
Í·Îļþ: <pthread.h>
·µ»ØÖµ: ³É¹¦Ôò·µ»Ø0, ³ö´íÔò·µ»Ø´íÎó±àºÅ.
˵Ã÷: Èç¹ûʹÓÃĬÈϵÄÊôÐÔ³õʼ»¯»¥³âÁ¿, Ö»Ðè°ÑattrÉèΪNULL. ÆäËûÖµÔÚÒÔºó½²½â.
2. »¥³â²Ù×÷:
    ¶Ô¹²Ïí×ÊÔ´µÄ·ÃÎÊ, Òª¶Ô»¥³âÁ¿½øÐмÓËø, Èç¹û»¥³âÁ¿ÒѾ­ÉÏÁËËø, µ÷ÓÃÏ̻߳á×èÈû, Ö±µ½»¥³âÁ¿±»½âËø. ÔÚÍê³ÉÁ˶Թ²Ïí×ÊÔ´µÄ·ÃÎʺó, Òª¶Ô»¥³âÁ¿½øÐнâËø.
Ê×ÏÈ˵һϼÓËøº¯Êý:
Í·Îļþ: <pthread.h>
Ô­ÐÍ:
int pthread_mutex_lock(pthread_mutex_t *mutex);
int pthread_mutex_trylock(pthread_mutex_t *mutex);
·µ»ØÖµ: ³É¹¦Ôò·µ»Ø0, ³ö´íÔò·µ»Ø´íÎó±àºÅ.
˵Ã÷: ¾ßÌå˵һÏÂtrylockº¯Êý, Õâ¸öº¯ÊýÊÇ·Ç×èÈûµ÷ÓÃģʽ, Ò²¾ÍÊÇ˵, Èç¹û»¥³âÁ¿Ã»±»Ëø×¡, trylockº¯Êý½«°Ñ»¥³âÁ¿¼ÓËø, ²¢»ñµÃ¶Ô¹²Ïí×ÊÔ´µÄ·ÃÎÊȨÏÞ; Èç¹û»¥³âÁ¿±»Ëø×¡ÁË, trylockº¯Êý½«²»»á×èÈûµÈ´ý¶øÖ±½Ó·µ»ØEBUSY, ±íʾ¹²Ïí×ÊÔ´´¦ÓÚæ״̬.
ÔÙ˵һϽâËùº¯Êý:
Í·Îļþ: <pthread.h>
Ô­ÐÍ: int pthread_mutex_unlock(pthread_mutex_t *mutex);
·µ»ØÖµ: ³É¹¦Ôò·µ»Ø0, ³ö´íÔò·µ»Ø´íÎó±àºÅ.
3. ËÀËø:
    ËÀËøÖ÷Òª·¢ÉúÔÚÓжà¸öÒÀÀµËø´æÔÚʱ, »áÔÚÒ»¸öÏß³ÌÊÔͼÒÔÓëÁíÒ»¸öÏß³ÌÏ෴˳ÐòËø×¡»¥³âÁ¿Ê±·¢Éú. ÈçºÎ±ÜÃâËÀËøÊÇʹÓû¥³âÁ¿Ó¦¸Ã¸ñÍâ×¢ÒâµÄ¶«Î÷.
    ×ÜÌåÀ´½², Óм¸¸ö²»³ÉÎĵĻù±¾Ô­Ôò:
¶Ô¹²Ïí×ÊÔ´²Ù×÷ǰһ¶¨Òª»ñµÃËø.
Íê³É²Ù×÷ÒÔºóÒ»¶¨ÒªÊÍ·ÅËø.
¾¡Á¿¶Ìʱ¼äµØÕ¼ÓÃËø.
Èç¹ûÓжàËø, Èç»ñµÃ˳ÐòÊÇABCÁ¬»·¿Û, ÊÍ·Å˳ÐòÒ²Ó¦¸ÃÊÇABC.
Ï̴߳íÎó·µ»ØÊ±Ó¦¸ÃÊÍ·ÅËüËù»ñµÃµÄËø.
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <pthread.h>
#include <errno.h>
pthread_mutex_t


Ïà¹ØÎĵµ£º

linuxϰ²×°apache+php


linuxϰ²×°apache+php
                                      
1.apache
ÔÚÈçÏÂÒ³ÃæÏÂÔØapacheµÄfor linux µÄ ......

Linux VNCÔ¶³Ì×ÀÃæ

Linux VNCÔ¶³Ì×ÀÃæ
2009-07-27 09:46
VNC£¬È«³ÆÎªVirtual Network Computing£¬ÊÇÒ»¸ö×ÀÃæ¹²Ïíϵͳ¡£ËüµÄ¹¦ÄÜ£¬ÀàËÆÓÚwindowsÖеÄÔ¶³Ì ×ÀÃæ¹¦ÄÜ¡£VNCʹÓÃÁËRFB(Remote FrameBuffer£¬Ô¶³ÌÖ¡»º³å£©Ð­ÒéÀ´ÊµÏÖÔ¶³Ì¿ØÖÆÁíÍâһ̨¼ÆËã»ú¡£Ëü°Ñ¼üÅÌ¡¢Êó±ê¶¯×÷·¢Ë͵½Ô¶³Ì¼ÆËã»ú£¬²¢°ÑÔ¶³Ì¼ÆËã»úµÄÆÁÄ»·¢»Øµ½±¾µØ£¬ VNC Viewer¿ÉÒÔº ......

linuxϰ²×°Îļþ

linuxϰ²×°Îļþ
2009Äê02ÔÂ20ÈÕ ÐÇÆÚÎå 16:18
1¡¢Ô´´úÂë°üµÄ°²×°
gzip -d apache_1.3.20.tar.gz £¨½âѹ£©
tar xvf apache_1.3.20.tar £¨½â°ü£©
cd apache_1.3.20
./configure £¨ÅäÖã© ----./configure --help£¨²é¿´configureÑ¡Ï
make £¨±àÒ룩
make install £¨°²×°£©
make clean £¨Ð¶ÔØ£©
×¢£ºµäÐ͵ÄÔ´´úÂë ......

linuxϰ²×°PHP APACHE MYSQL ÊÖ¼Ç

/**********************************
APACHE
***********************************/
±à¼­²ÎÊý£º
./configure" \
"--prefix=/usr/local/apache" \
"--enable-so" \
"--enable-ssl" \
"--enable-mods-shared=most" \
"--with-mpm=event" \
"--with-ssl=/usr/local/openssl" \
"--enable-cache" \
"--enable-mem- ......

ʹÓÃlinux¹²ÏíÄÚ´æµÄʵÏÖµÄphpÄÚ´æ¶ÓÁÐ

<?php
/**
* ʹÓù²ÏíÄÚ´æµÄPHPÑ­»·ÄÚ´æ¶ÓÁÐʵÏÖ
* Ö§³Ö¶à½ø³Ì, Ö§³Ö¸÷ÖÖÊý¾ÝÀàÐ͵Ĵ洢
* ×¢: Íê³ÉÈë¶Ó»ò³ö¶Ó²Ù×÷,¾¡¿ìʹÓÃunset(), ÒÔÊÍ·ÅÁÙ½çÇø
*
* @author wangbinandi@gmail.com
* @created 2009-12-23
*/
class SHMQueue
{
private $maxQSize = 0; // ¶ÓÁÐ×î´ó³¤¶È

private $front = 0; ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ