решил мыслю подумать, может кто скажет что не так думаю.
правда есть у меня дежавю что что-то подобное думал но не нашел =)
есть у меня небольшой демон, работающий с устройствами.
алгоритм прост до безобразияи рабоет стабильно :
1, загружаем список устройств
2, проверяем их по очереди
3, записываем лог в файл что сделали
4, отчитались в БД что натварили
5. goto 2
все было хорошо пока не появились сетевые устройства
а когда они пропадают, система очень долго может весеть прежде чем вернет что устройство отсутствует.
как я понимаю эта батва на уровне протокола TCP\IP и с этим ничего сделать нельзя, но тормазить очередь нельзя.
вывод надо распаралелится
I класический вариант fork
1 загружаю список устройств
2, создаю клонов согласно купленным билетам каждому даю свою задачу.
возникает вопрос как писаль лог и следить за сиротами. значит надо общаться между собой и строить общение.
II потоки
1, получаю информацию
2, создаю каждому по потоку и там они опрашиваются.
3, в синхронизации пишу все в лог и в БД чтоб не плодить конекты
с логикой вроде понятно. с потоками не разу не сталкивался кроме теоретики.
теперь вопрос
1. какие потоки использовать лучше те которые класические в паскале критические функции или из lcl TTheard ?
2. что есть "потокобезопасная функция" и как их правельно создовать ?