![]() |
|
|
google unix.com
|
|||||||
| Forums | S'inscrire | Forum Rules | Liens | Albums | FAQ | Liste des membres | Calendrier | Recherche | Aujourd'hui, les postes | Marquer les forums comme lus |
| UNIX for Advanced & Expert Users Expert à Expert. Apprenez avancé UNIX, des commandes UNIX, Linux, les systèmes d'exploitation, d'administration système, de la Programmation, Shell, Shell Scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD. |
Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
|
||||
| Fil | Thread Starter | Forum | Réponses | Last Post |
| Pro * C pour les requêtes SQL en utilisant threading concept | user71408 | UNIX pour les nuls Questions et réponses | 0 | 05-21-2008 03:11 AM |
| LUN concept | Prem | HP-UX | 1 | 02-22-2007 05:02 PM |
| Ayant des difficultés avec UNIX concept. S'il vous plaît, aidez! | Alon | UNIX pour les nuls Questions et réponses | 4 | 01-11-2007 11:42 AM |
| IPTABLES Firewall concept d'aide | Bradley Porter | UNIX pour les nuls Questions et réponses | 1 | 01-02-2007 05:39 AM |
| concept de point de montage | Vikas Sood | UNIX pour les nuls Questions et réponses | 3 | 06-08-2006 07:31 PM |
![]() |
|
|
LinkBack | Thread Tools | Recherche sur ce Thread | Rate Thread | Modes d'affichage |
|
|
|
||||
|
concept de sémaphore
Salut tous,
Je vais par le biais du concept de sémaphore et ont un doute sur la même et l'espoir d'obtenir une résolution ici. J'ai un fichier qui a un certain nombre de dossiers. Je veux écrire une application (en C) qui sera capable de faire concurrente de lecture / écriture sur ces dossiers. De ce que j'ai entendu sur les sémaphores, je sais que le processus peut obtenir un verrou sur la section critique du code, lire / écrire dans des dossiers, puis relâcher le verrou si les autres processus en attente d'accès aux données peut obtenir un verrou. Je suis confus et ont tendance à penser que "Ne serait-ce pas ce concept à un problème plus sérieux?" comme un autre processus, réellement désireux de lire / écrire un autre record sur le même fichier est d'attendre que le verrou pour obtenir libérés par le processus qui a obtenu le verrou. Si tel est le cas, pensez à une situation où nous avons un grand nombre de processus (par exemple, plus de 1000) qui souhaitent faire une lecture / écriture sur la même / les différents dossiers. Ne serait-ce pas cette notion de ralentir la demande? S'il vous plaît laissez-moi savoir si j'ai mal compris le concept et toute la lumière sur ce ... Observe maverix Dernière édition par maverix; au 08.28.2007 12:35 PM.. Motif: enlever mon nom dans la signature |
|
||||
|
Vous ne dites pas ce que vous êtes sur UNIX, mais plutôt examiner le fichier des serrures de sémaphores.
commencer par "l'homme troupeau» si vous êtes sur Linux. Sinon, l'homme fcntl, puis recherchez FD_SETLK ou FD_GETLK de commencer. En fonction de votre OS, vous pouvez obtenir le fichier des serrures à différents niveaux; struct flock peut verrouiller une partie d'un fichier. Les sémaphores sont principalement utilisés pour l'accès à la mémoire partagée. |
|
||||
|
Salut Jim et Neo,
Merci pour vos réponses ... Je suis en train d'utiliser RHEL 4. J'ai utilisé lockf () et troupeau () les appels système et il semble fonctionner correctement. Toutefois, je tiens à utiliser les sémaphores pour obtenir le même effet. FYI ... Je suis en train de faire ces juste de comprendre et d'apprendre les concepts. Ce n'est pas un live et de l'industrie projet. Utilisation lockf () et troupeau (), j'ai été en mesure de verrouiller certaines sections des fichiers en fonction de la position que nous fournissons le fichier. Disons, par exemple, la demande est une simple application d'opérations bancaires et la base de données utiliser est un simple fichier qui a nombre d'enregistrements qui contient des informations de compte. Utilisation lockf (), j'ai été en mesure de bloquer un dossier par l'obtention du numéro de compte de l'utilisateur, de sorte que d'un autre processus qui souhaitent accéder à un enregistrement différent n'ont pas tous les problèmes en lecture / écriture à un autre record. Ma question est de savoir comment obtenir le même effet en utilisant des sémaphores. Si le nombre de processus sont plus, chaque processus sera d'attente pour obtenir le sémaphore d'entrer dans la section critique du code, n'est-ce pas? observe maverix |
|
|||||
|
Je pense que l'entrée sur wikipedia Sémaphore de programmation répond à votre question .....
|
|
||||
|
Citation:
Si c'est un fichier, puis le verrouillage de fichiers est préféré, de cette façon même si le fichier est sur un NFS volume, le verrouillage et de partage encore. Si la chose est dans un processus unique et le partage entre les threads puis en utilisant pthread_mutex / pthread_cond et al. Si la chose est à mémoire partagée ou similaire qui est partagée par des processus qui sont sur la même machine, vous pouvez utiliser le kernel fourni semahores. Je propose quelque chose de lecture par W. Richard Stevens sur le sujet. |
|
||||
|
Salut tous,
Merci pour votre contribution. Comme suggéré par porteur, je crois que je vais avoir à régler avec les mécanismes de verrouillage des fichiers que je suis en utilisant un simple fichier. Permettez-moi d'explorer d'autres installations de la CIB (pour le moment de commencer à étudier :-)) et vous les gars avec plus de doutes ... observe maverix Dernière édition par maverix; au 08.30.2007 06:15 AM.. Motif: enlevé le smiley Web |
![]() |
| Bookmarks |
| Tags |
| linux |
| Thread Tools | Recherche sur ce Thread |
| Modes d'affichage | Rate this thread |
|
|