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

Éú²úÕß Ïû·ÑÕßÎÊÌâʵÏÖ (linuxÏÂCÓïÑÔ)

²Ù×÷ϵͳµÄÒ»¸ö¾­µäÎÊÌâÊÇ"Éú²úÕß-Ïû·ÑÕß"ÎÊÌâ, ÕâÉæ¼°Í¬²½ÐźÅÁ¿ºÍ»¥³âÐźÅÁ¿µÄÓ¦ÓÃ, ÔÚÕâÀï,ÎÒÓÃÏ̵߳Äͬ²½ºÍ»¥³âÀ´ÊµÏÖ.
/*
* author ÕÅÎÄ
* 2008/06/20
*/
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <pthread.h>
#include <semaphore.h>
#define N 2   // Ïû·ÑÕß»òÕßÉú²úÕßµÄÊýÄ¿
#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(1);
//sleep(1);
  
   sem_wait(&full_sem);
   pthread_mutex_lock(&mutex);
  
   out = out % M;
   printf("prochase%d in %d. like: \t", id, out);
  
&nb


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì(Áù) L2CAP±à³ÌʵÀý

ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
 Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......

¡¾´î½¨Ç¶Èëʽlinux¿ª·¢»·¾³¡¿tftp·þÎñµÄ°²×°ÓëÅäÖÃ

 ÎÒµÄϵͳÊÇFedora 11
1. ÅäÖñ¾»úµÄIPµØÖ·
±ÈÈçÎÒµÄIPµØÖ·ÊÇ192.168.1.220
ÃüÁîÐУº
sudo ifconfig eth0 192.168.1.220 netmask 255.255.255.0
ÕâÊÇÁÙʱµÄÉèÖã¬ÖØÆôºó¾Í¶ªÊ§ÁË¡£Èç¹ûÏë±£´æÉèÖ㬾ÍÐÞ¸ÄÅäÖÃÎļþ£º
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
ÓÃ#×¢µôBOOTPROTO=dhcp£¬²¢ÇÒÌí¼Ó»òÉèÖÃÒ ......

ÈçºÎÑ¡Ôñ×îÊʺϵÄLinux°æ±¾

 ×÷Õߣº51cto
http://www.ccw.com.cn 2009-02-27 11:06:03
µ±Äã¶Ô±ðÈË˵£¬“ÎÒÒªÂòÁ¾³µ¡£”ËûÂíÉϾͻáÎÊÄ㣺“ʲô³µ£¿”¸£ÌØ¡¢·áÌï¡¢»¹ÊDZ¾ÌÊÇË«ÃÅÅܳµ¡¢Ð¡½Î³µ¡¢»¹ÊÇÃæ°ü³µ£¿µ±È»£¬»¹ÓÐÆäËûÀàËÆµÄÎÊÌâ¡£
ͬÑù£¬Èç¹ûÄã˵“ÎÒÏë°²×°Linux£¡”Äã»á±»Îʵ½Í¬ÑùµÄÎÊÌ⣺ÄĸöLinu ......

C¡¢C++ºÍC#µÄ²»Í¬Ö®´¦

CÊÇÃæÏò¹ý³ÌµÄ³ÌÐòÉè¼Æ£¬³ÌÐò=Êý¾Ý½á¹¹+Ëã·¨ [×îԭʼ£¬µ«±à¸ö³Ìȷʵ²»Ò×]
C++ÊÇÃæÏò¶ÔÏóµÄ³ÌÐòÉè¼Æ£¬³ÌÐò=¶à¸öÀà+ÏûÏ¢(Àà=Êý¾Ý½á+Ëã·¨)[±È½ÏÈÝÒ×ÉÏÊÖ]
C# ÊÇ´¿ÃæÏò¶ÔÏóµÄÓïÑÔ[¸ü¼Ó±È½ÏÈÝÒ×ÉÏÊÖ]
VC/VC++/VC# Ö»ÊÇÓÃÀ´¿ª·¢C/C++/C#Ó¦ÓóÌÐòµÄÈí¼þÖеÄÒ»ÖÖ¡£
......

LinuxΪºÎÒªÔ¶ÀëÓ²ÅÌ£¿

 




<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
-->

       ÔÚ±¾ÎÄÖУ¬
Linux
ÊÇÖ¸²Ý¸ù°æµÄ
Linux
£¬Ò²¾ÍÊÇ˵£¬
Linux
ÊÇÕý×ÚµÄ
GNU/Linux
¡£ÏÖÔÚµÄÎÊÌâÊÇ£¬ÔÚÖйú£¬ÎªÊ²Ã´
GNU/Linux
ÒªÔ¶ÀëÓ²ÅÌ£¿ÕâÊÇʲôԭÒòÔì³ÉµÄ£¿
  ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ