The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Распределение ресурсов между процессами. fork()"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Распределение ресурсов между процессами. fork()"  
Сообщение от DiverD on 05-Дек-06, 13:15 
К примеру есть массив состоящий из 100 эл-в.
В цикле пораждается 4 процесса, мне нужна распределить между 4мя процессами эл-ты массива, каждому процессу по 25 и вывести их на STDOUT.
Думаю можна это зделать через файл, пайпы и разделяемую память ( без модуля IPC::Shareable ну или с ним ) но не знаю как, эксперементировал по разному, впринцыпе сама работа мне понятно но а вот реализовать perl-языком не могу.
[1]Если делать через файл, то прочесть из файла 25 эл-в, счетчик включить потом записать результаты счетчика в др файл, далее след процесс еще раз прочтет файл 1й и 2й в который записали счетчик и тд. надейюсь понятно описал.
[2]Через пайпы не сильно понимаю.
[3]Через разделяемую память почти аналогия с файлом.
Но как это реализовать я не знаю, помогите пожалуйсто.

ps: использую fork()

вот скрипт на базе которога я думал делать:

#!/usr/bin/perl
use strict;
use warnings;

my $num = 4;
my @child;

for(1..$num) {
    my $pid = fork();
    if($pid) { push @child,$pid; }
    elsif($pid == 0) { print "$$\n"; exit(0); }
    else{ print "fork() failed : $!\n"; }
}

for(@child) { waitpid($_,0); }


ps: я пробовал делать вычисления в родительском а потом по 25 элементов передавать дочерним = у меня это не получилось.

Хотя если делать конструкцию :

if(fork ==0) {
    .....
}
if(fork ==0) {
    .....
}
if(fork ==0) {
    .....
}
if(fork ==0) {
    .....
}

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Распределение ресурсов между процессами. fork()"  
Сообщение от test0 on 05-Дек-06, 20:47 
use pthreads, luke :) Use google for information about the pthreads using with Perl, if needed.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Распределение ресурсов между процессами. fork()"  
Сообщение от DiverD (??) on 06-Дек-06, 17:10 
>use pthreads, luke :) Use google for information about the pthreads using
>with Perl, if needed.

мне нужна именно с fork()


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру