J'ai découvert que l'accès aux fichiers natifs n'a pas d'état "non bloquant". (Je suis correct?)Accès aux fichiers natifs non bloquants - démon à un seul thread dans C?
J'ai été googling pour les démons qui sont "non-bloquants", et j'ai trouvé un qui a réalisé ce comportement en enfilant des opérations d'accès aux fichiers, de sorte que le démon ne bloque pas .
Ma question est, ne pas threading et IPC de telles opérations être plutôt coûteux? cela ne serait-il pas plus logique de: A) Pool de pré-thread, il suffit à chaque client d'avoir un thread et de le laisser bloquer pour les opérations dont il pourrait avoir besoin. B) En cas de blocage d'accès au fichier, utilisez un tampon relativement petit, de cette façon il bloque toujours - mais on supposera qu'un tampon minuscule pour plusieurs opérations aurait plus de sens que de payer le prix de l'enfilage de chaque opération et IPC-il?
On utilise généralement les bibliothèques C disponibles sur le système utilisé. Pour l'accès au fichier 'non-bloquant', ceci est normalement fait avec 'select',' poll', 'epoll', etc. Les ressources disponibles dépendent du système/de l'exécution C. –
Etes-vous sûr que c'est une option pour les fichiers natifs? (pas FIFO, ni Sockets). Malheureusement, je ne trouve rien de lié, si vous pouvez partager une référence spécifique, serait très apprécié! –
Ce n'est pas une option pour les fichiers ordinaires, sélectionner/interroger signale toujours que ces fichiers sont toujours lisibles/toujours accessibles en écriture. – nos