![]() |
|
|
google unix.com
|
|||||||
| Forum | Registrera | Forum Regler | Länkar | Album | FAQ | Medlemslista | Kalender | Söka | Dagens inlägg | Markera forum som lästa |
| UNIX för avancerade & Expertanvändare Expert-to-experten. Läs avancerade UNIX UNIX-kommandon, Linux operativsystem, systemadministration, programmering, Shell, Shell Scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD. |
Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
|
||||
| Tråd | Thread Starter | Forum | Svar | Senaste Inlägg |
| Pro * C-programmet för SQL-frågor använder threading begreppet | user71408 | UNIX for Dummies Frågor & Svar | 0 | 05-21-2008 03:11 |
| LUN begreppet | Prem | HP-UX | 1 | 02-22-2007 05:02 |
| Har svårt med UNIX koncept. Please help! | Alon | UNIX for Dummies Frågor & Svar | 4 | 01-11-2007 11:42 |
| IPTABLES Firewall begreppet hjälpa | Bradley Porter | UNIX for Dummies Frågor & Svar | 1 | 01-02-2007 05:39 |
| Begreppet monteringspunkten | Vikas Sood | UNIX for Dummies Frågor & Svar | 3 | 06-08-2006 07:31 |
![]() |
|
|
LinkBack | Thread Tools | Sök i denna tråd | Rate Thread | Visningslägen |
|
|
|
||||
|
semaforen begreppet
Hej Alla,
Jag går igenom semaforen koncept och har en tvivel om samma och hoppas att få en lösning här. Jag har en fil som har ett antal poster. Jag vill skriva en ansökan (i C) som kommer att kunna göra samtidiga läs / skriv på dessa poster. Av vad jag har förstått om semaforer, jag vet att en process kan få ett lås på den kritiska delen av koden, läs / skriv till posterna, sedan släppa låset så de andra processer som väntar på att få tillgång till data kan få ett lås. Jag är förvirrad och tenderar att tro att "Skulle inte det här konceptet leda till ett mer allvarligt problem?" som en annan process, som faktiskt vill läsa / skriva en annan post på samma fil har att vänta på låset för att få frisläppas av den process som har fått låset. Om så är fallet, tänk på en situation där vi har ett stort antal processer (t.ex. fler än 1000) vill göra ett läs / skriv på samma / olika posterna. Skulle inte detta begrepp bromsa ansökan? Hör av dig om jag har missförstått begreppet och kasta lite ljus på detta ... Hälsningar maverix Senast redigerad av maverix; 08-28-2007 vid 12:35.. Anledning: ta bort mitt namn i signaturen |
|
||||
|
Du behöver inte säga vad UNIX du är på, men anser fil lås istället för semaforer.
börja med "mannen flock om du på Linux. Annars kan man fcntl och sedan leta efter FD_SETLK eller FD_GETLK att börja. Beroende på ditt operativsystem kan du hämta filen lås på olika nivåer, strukt flock kan ge låsa en del av en fil. Semaforer används mest för att få tillgång till delat minne. |
|
||||
|
Hej Jim och Neo,
Tack för ditt svar ... Jag använder RHEL 4. Jag har använt lockf () och flock () för samtal och det verkar fungera bra. Men jag vill använda semaforer för att uppnå samma effekt. För kännedom ... jag gör dessa bara för att förstå och lära sig begrepp. Dess inte en levande och industri projektet. Använda lockf () och flock (), jag kunde låsa vissa delar av filer beroende på filen position vi tillhandahåller. Säg till exempel att ansökan är ett enkelt bank tillämpningen och databasen jag använder är en enkel fil som har många register som innehåller kontoinformation. Använda lockf () har jag kunnat låsa en viss post genom att erhålla kontonummer från användaren, så att en annan process som vill få en annan post inte hade några problem i att läsa / skriva till en annan post. Min fråga var hur man kan få samma effekt med hjälp av semaforer. Om antalet samtidiga processer mer, varje process kommer att vara väntar på att få de semaforen ange den kritiska delen av koden, inte är det så? hälsningar maverix |
|
|||||
|
Jag tycker att wikipedia inträde på Semaforen programmering svar på din fråga .....
|
|
||||
|
Citat:
Om det är en fil, sedan fillåsning är att föredra, detta sätt även om filen finns på en NFS volym, låsning och dela fortfarande arbete. Om den är i en enda process och utbyte mellan trådar sedan använder pthread_mutex / pthread_cond et al. Om det är delat minne eller liknande som delas av processer som är på samma maskin så kan du använda kärnan förutsättning semahores. Jag föreslår att läsa något av W. Richard Stevens i frågan. |
|
||||
|
Hej Alla,
Tack för din input. Som framgår av porter, jag tror jag har att lösa med fillåsning mekanismer som jag använder en enkel fil. Låt mig undersöka andra IPC anläggningar (ännu att börja studera :-)) och kommer att komma tillbaka till er med mer tveksam ... hälsningar maverix Senast redigerad av maverix; 08-30-2007 vid 06:15.. Orsak: bort smiley URL |
![]() |
| Komihåglista |
| Taggar |
| linux |
| Thread Tools | Sök i denna tråd |
| Visningslägen | Betygsätt denna tråd |
|
|