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

linuxÏÂÉú²úÕßÏû·ÑÕßµÄʵÏÖ

 #include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <pthread.h>
#include <semaphore.h>
#define M 10 // »º³åÊýÄ¿
int in = 0;   // Éú²úÕß·ÅÖòúÆ·µÄλÖÃ
int out = 0; // Ïû·ÑÕßÈ¡²úÆ·µÄλÖÃ
int buff[M] = {0}; // »º³å³õʼ»¯Îª0£¬ ¿ªÊ¼Ê±Ã»ÓвúÆ·
sem_t empty_sem; // ͬ²½ÐźÅÁ¿£¬ µ±ÂúÁËʱ×èÖ¹Éú²úÕ߷ŲúÆ·
sem_t full_sem;   // ͬ²½ÐźÅÁ¿£¬ µ±Ã»²úƷʱ×èÖ¹Ïû·ÑÕßÏû·Ñ
pthread_mutex_t mutex; // »¥³âÐźÅÁ¿£¬ Ò»´ÎÖ»ÓÐÒ»¸öÏ̷߳ÃÎÊ»º³å
int product_id = 0;   //Éú²úÕßid
int prochase_id = 0; //Ïû·ÑÕßid
/* ´òÓ¡»º³åÇé¿ö */
void print()
{
int i;
for(i = 0; i < M; i++)
   printf("%d ", buff[i]);
printf("\n");
}
/* Éú²úÕß·½·¨ */
void *product()
{
int id = ++product_id;
while(1)
{
   // ÓÃsleepµÄÊýÁ¿¿ÉÒÔµ÷½ÚÉú²úºÍÏû·ÑµÄËÙ¶È£¬±ãÓÚ¹Û²ì
   sleep(1);
   //sleep(1);
 
   sem_wait(&empty_sem);
   pthread_mutex_lock(&mutex);
 Õâ¶þ¾äÈç¹ûµßµ¹µÄ»°,¿ÉÄܳöÏÖÒ»ÖÖÒì³£Çé¿ö,
µ±½øÈëÁË»º³åÇøÎªÂúʱ,µßµ¹Ö®ºó»á¶Ô»º³åÇøÏȼÓËø,È»ºó,½ø³ÌÓÉÓÚ»º³åÇøÎªÂòû·¨Éú²ú²úÆ·,ÔÚÕâÀï±»×èÈû,¶øÏû·ÑÕßÓÖÎÞ·¨»ñµÃ»º³åÇøµÄËø½øÈ뻺³åÇø,Òò¶ø»á³öÏÖËÀËø
  
   in = in % M;
   printf("product%d in %d. like: \t", id, in);
 
   buff[in] = 1; 
   print(); 
   ++in;
 
   pthread_mutex_unlock(&mutex);
   sem_post(&full_sem); 
}
}
/* Ïû·ÑÕß·½·¨ */
void *prochase()
{
int id = ++prochase_id;
while(1)
{
   // ÓÃsleepµÄÊýÁ¿¿ÉÒÔµ÷½ÚÉú²úºÍÏû·ÑµÄËÙ¶È£¬±ãÓÚ¹Û²ì
   sleep(2);
  
   sem_wait(&full_sem);       //  Õâ¶þ¾äÈç¹ûµßµ¹µÄ»°,¿ÉÄܳöÏÖÒ»ÖÖÒì³£Çé¿ö,
µ±½øÈëÁË»º³åÇøÎª¿Õʱ,µßµ¹Ö®ºó»á¶Ô»º³åÇøÏȼÓËø,È»ºó,½ø³ÌÓÉÓÚ»º³åÇøÎª¿Õû·¢Ïû·Ñ²úÆ·,ÔÚÕâÀï±»×èÈû,¶øÉú²úÕßÓÖÎÞ·¨»ñµÃ»º³åÇøµÄËø½øÈ뻺³åÇø,Òò¶ø»á³öÏÖËÀËø
   pthread_mutex_lock(&mutex);


Ïà¹ØÎĵµ£º

linuxÖÐÏòÆäËûÓû§ÖÕ¶Ë·¢ÏûÏ¢


Ò»¸ö¼òµ¥ÊµÓõÄС¹¦ÄÜ¡£¡£
1.ÓÃwÃüÁî²é¿´¶¼ÓÐÄÄЩÖжÏÓû§
[]#w
jeff     pts/5    192.168.96.128   16:47   10:44   0.03s  0.03s -bash
2.·¢ËÍÏûÏ¢
[]#write jeff pts/5
hello!
½ÓÏÂÀ´Ã¿Ð´Ò»ÐУ¬°´»Ø³µºó¾Í»á·¢Ë͵½¶Ô·½ÏàÓ¦µÄÖÕ¶Ë¡£
......

ÔÚlinuxµÄPCÉϹÒÔØjffs2¸ùÎļþϵͳӳÏñ

ÎÒÃÇÔÚµ÷ÊÔÓ²¼þ°åʱ£¬¾­³£ÐèÒª×ö¶à¸öjffs2µÄ¸ùÎļþϵͳӳÏñ£¬ÓÐʱҲҪ¶Ô±ÈÆäËû;¾¶µÃµ½µÄ¿ÉÓõÄjffs2¸ùÎļþϵͳӳÏñ¡£µ«jffs2µÄÎļþϵͳӳÏñ²»Ïó¹âÅ̵ÄÓ³ÏñÎļþÒ»Ñù¿ÉÒÔͨ¹ýloopÉ豸À´¹ÒÔØ£¬×ܲ»¿ÉÄÜÒ»¸ö¸öÉÕ¼µ½Ó²¼þ°åÈ¥¿´°É¡£ ºóÀ´µ½ÍøÉÏgoogleÁËÒ»°Ñ£¬×ó·­ÓÒ·­Ö®ºó×ÜËãÕÒµ½ÁËÒ»¸ö·½·¨¡£ÒòΪjffs2Êǹ¹½¨ÓÚMTDÉ豸ÉϵÄÎļ ......

Linux ·À»ðǽ¿ª¹ØÃüÁî

 1) ÓÀ¾ÃÐÔÉúЧ£¬ÖØÆôºó²»»á¸´Ô­
¿ªÆô£º chkconfig iptables on
¹Ø±Õ£º chkconfig iptables off
2) ¼´Ê±ÉúЧ£¬ÖØÆôºó¸´Ô­
¿ªÆô£º service iptables start
¹Ø±Õ£º service iptables stop
¿ªÆôºÍ¹Ø±Õ¶Ë¿ÚÏà¹ØÅäÖÃÎļþ
/etc/sysconfig/iptables ......

ǶÈëʽLinux¿ª·¢¼ò½é£¨Ò»£©

        ÔÚ¹ýÈ¥µÄÊ®ÄêÖУ¬Ç¶ÈëʽϵͳµÄ¿ª·¢·¢ÉúÁ˺ܴóµÄ±ä»¯¡£ÒÔǰǶÈëʽÉ豸ÍùÍùÊÇÒ»¸ö¹ÂÁ¢µÄ¡¢×ÊÔ´ÓÐÏÞµÄϵͳ£¬ËüÃÇ×·ÇóµÄÊÇÔÚÓÐÏ޵ļ۸ñÉÏÂú×ãÒ»¶¨µÄ¹¦ÄÜÐÔÒªÇó¡£Í¨³£ËüÃDzÉÓÃÄÇЩ¹¦Äܲ¢²»Ç¿´óµÄCPU£¬ÕâÒ²ÊÇ¿ª·¢Õß²»µÃ²»¾¡¿ÉÄܵØÑ¹ËõǶÈëʽϵͳÐÔÄܵÄÔ­Òò¡£¶ø½ñÌìÈËÃǶÔǶÈëʽÉ豸ÔÚ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ