Вверх ↑
Этот топик читают: Гость
Ответов: 92
Рейтинг: 0
#1: 2016-02-28 09:22:57 ЛС | профиль | цитата
Привет, в общем не могу понять где накосячил. Программа выдает ровно столько результатов, сколько выставлено потоков и глохнет.

code_36999.txt

В лучших традициях карго культа взял за основу схему CriDos'а многопоточного прокси чекера.
http://forum.hiasm.net/forum.html?q=3&p=236736

Если кто поможет, пришлите в личку сколько отправить за помощь, залью на телефон, карту или вм.
карма: 0

0
файлы: 1code_36999.txt [9.5KB] [1105]
Ответов: 16884
Рейтинг: 1239
#2: 2016-02-28 22:16:09 ЛС | профиль | цитата
theSever писал(а):
Программа выдает ровно столько результатов, сколько выставлено потоков и глохнет.

А как она должна работать ?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 92
Рейтинг: 0
#3: 2016-02-28 23:06:48 ЛС | профиль | цитата
Tad писал(а):
А как она должна работать ?


Ну в общем то пока не закончится список доменов для проверки, то есть сейчас работает так: на проверку 50 доменов, поставлено 5 потоков, нажимаю старт, выдает 5 результатов на 5 доменов и все, дальше реакции нет.

карма: 0

0
Ответов: 16884
Рейтинг: 1239
#4: 2016-02-28 23:51:10 ЛС | профиль | цитата
Берёшь бумагу и карандаш и пишешь :
1. Нужно проверить 50 доменов имея 5 потоков.
и воплощаешь в жизнь
Т.е. тебе нужно на кнопку "Проверить" нажать 10 раз.
Как ты её нажмешь или компонентом For (Start=1, End=50 Step=5) или по-другому - твоё дело.

Красные компоненты - лишние. ИМХО.
thesever_2.gif

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1thesever_2.gif [28.4KB] [849]
Ответов: 92
Рейтинг: 0
#5: 2016-02-29 15:13:27 ЛС | профиль | цитата
Tad писал(а):
Берёшь бумагу и карандаш и пишешь :
1. Нужно проверить 50 доменов имея 5 потоков.
и воплощаешь в жизнь
Т.е. тебе нужно на кнопку "Проверить" нажать 10 раз.
Как ты её нажмешь или компонентом For (Start=1, End=50 Step=5) или по-другому - твоё дело.

Красные компоненты - лишние. ИМХО.


Не не пашет, нашел где идет косяк, косяк идет на линии которую пометил красной стрелкой:

thesever_3.gif

В схеме с прокси чекером отлично все работает, а после моих кривых рук, косяк идет на этой линии.
------------ Дoбавленo в 15.13:
Сделал таким образом, вроде все пашет, но есть другая проблема, почему то пропадают строки.

Make(delphi)
ver(4.05 build 186)
Add(MultiElementEx,7652017,732,392)
{
@Hint=#31:Модуль MultiThreads_Checker_1.1|
Mode=1
link(OnResult,16344680:doEvent1,[])
link(End,3306489:In,[])
link(get_ip_port,6487186:Var,[])
AddHint(180,-109,184,13,@Hint)
}
BEGIN_SDK
Add(EditMultiEx,9746293,21,21)
{
WorkCount=#5:##add|9:##hdelete|
EventCount=#8:OnResult|3:End|
VarCount=#7:##count|13:##eventHandle|
DataCount=#11:get_ip_port|0:|
Width=1630
Height=851
VOffset=80
HOffset=140
Point(##add)
Point(##hdelete)
Point(##count)
Point(##eventHandle)
link(##add,12340182:doWork,[])
}
Add(LineBreakEx,8666620,1431,101)
{
Caption="Result"
Type=1
link(OnEvent,15049631:doSafeMode,[])
}
Add(LineBreakEx,47105,1520,135)
{
Caption="End"
Type=1
link(OnEvent,9746293:End,[(1594,141)(1594,114)])
}
Add(SafeMode,15049631,1528,101)
{
Name="checker_result"
link(onSafeMode,9746293:OnResult,[])
}
Add(LineBreakEx,6281593,1341,478)
{
Caption="Result"
}
Add(LineBreakEx,7307885,35,210)
{
Caption="StartCheck"
Type=1
link(OnEvent,6667049:doSafeMode,[(118,216)(118,181)])
}
Add(LineBreakEx,12340182,54,101)
{
Caption="StartCheck"
}
Add(LineBreak,2743026,161,38)
{
Caption="get_ip_port"
Type=1
link(Data,9746293:get_ip_port,[])
Primary=[8039361,34,104]
}
Add(SafeMode,6667049,127,175)
{
Name="checker_get_ip_port"
link(onSafeMode,3700032:doData,[])
}
Add(DoData,3700032,196,175)
{
link(onEventData,3013132:doCompare,[(244,181)(244,193)])
link(Data,8039361:Var,[(202,162)(201,162)])
}
Add(Hub,10215304,677,173)
{
link(onEvent1,117603:doMultiReplace,[(762,179)(762,153)])
link(onEvent2,16357934:In,[(706,186)(706,209)])
}
Add(Thread,14975125,625,173)
{
Delay=1
FastStop=0
BusyEvent=1
link(onExec,10215304:doEvent1,[])
}
Add(If_else,3013132,267,187)
{
link(onTrue,8080686:doEvent1,[(312,193)(312,163)])
link(onFalse,9654815:doCompare,[(317,200)(317,202)])
link(Op2,16764516:Value,[])
}
Add(Memory,16764516,274,130)
{
}
Add(Hub,8080686,325,157)
{
link(onEvent1,6214789:doWork,[(346,163)(346,159)])
link(onEvent2,16421175:doWork,[(346,170)(346,175)])
}
Add(LineBreakEx,6214789,353,153)
{
Caption="End"
}
Add(LineBreakEx,3820589,533,187)
{
Caption="StopCheck"
Type=1
link(OnEvent,14975125:doStop,[(616,193)(616,186)])
}
Add(LineBreakEx,16421175,353,169)
{
Caption="StopCheck"
}
Add(FormatStr,4957244,1141,525)
{
DataCount=8
Mask="%1,%2,%3,%4"
link(onFString,6281593:doWork,[(1270,531)(1270,484)])
link(Str1,3831849:Var,[])
link(Str3,6798492:Var,[])
link(Str4,12414457:Var,[])
}
Add(StrList,2159738,840,84)
{
Strings=#9:http://=;|10:https://=;|6:www.=;|3:/=;|
}
Add(MultiReplace,117603,833,147)
{
link(Text,16081067:Var3,[(839,135)(648,135)(648,250)])
link(ReplaceList,13927829:Var2,[])
}
Add(Hub,7593678,1297,625)
{
OutCount=3
}
Add(LineBreakEx,1917053,1341,612)
{
Caption="StartCheck"
}
Add(StrMask,9654815,336,196)
{
Mask="http*"
link(onFalse,7516542:doStrCat,[])
link(onTrue,7695048:doWork3,[(431,224)])
}
Add(StrCat,7516542,385,196)
{
Str1="http://"
link(onStrCat,7695048:doWork2,[])
}
Add(Memory,16482908,448,196)
{
@Hint=#15:Состояние хоста|
link(onData,14975125:doStart,[(518,202)(518,179)])
}
Add(HubEx,7695048,427,196)
{
link(onEvent,16482908:doValue,[])
}
Add(GetDataEx,16081067,441,245)
{
link(Data,16482908:Value,[(447,237)(454,237)])
}
Add(HTTP_Get,9729894,294,406)
{
Wait=0
link(onDownload,1605886:doConvert,[])
link(URL,10781118:Result,[(300,394)(276,394)(276,450)(251,450)])
}
Add(StrCat,10781118,245,406)
{
Str1="http://bar-navig.yandex.ru/u?ver=2&show=32&url="
link(onStrCat,9729894:doDownload,[])
link(Str2,4000629:Var3,[(258,256)(397,256)(397,257)])
}
Add(Convertor,1605886,343,413)
{
Mode=11
link(onResult,2066129:doCharset,[])
}
Add(Charset,2066129,392,413)
{
Type=7
link(onCharset,15115652:doSearch,[])
}
Add(BlockFind,10626003,231,525)
{
IncludeBlock=1
StartBlock="<yaca url=""
EndBlock=""/>"
Point(onNotFind)
link(onSearch,1983570:doMultiReplace,[])
}
Add(MultiReplace,1983570,280,525)
{
link(onResult,15176407:doExec,[])
link(ReplaceList,834122:Var,[])
}
Add(DoData,13501458,455,525)
{
Data=String(Нет)
link(onEventData,11141711:doWork2,[])
}
Add(DoData,12805414,455,567)
{
Data=String(Да)
link(onEventData,11141711:doWork3,[(515,573)])
}
Add(Memory,8570413,525,525)
{
@Hint=#15:Состояние хоста|
link(onData,4957244:doString,[])
}
Add(BlockFind,15115652,476,413)
{
IncludeBlock=1
StartBlock="value=""
EndBlock=""/>"
Point(onNotFind)
link(onSearch,12563769:doValue,[])
link(onEndSearch,13443203:In,[(520,426)(520,444)(450,444)(450,461)])
}
Add(Memory,12563769,539,413)
{
@Hint=#15:Состояние хоста|
}
Add(RE_Search,15176407,343,525)
{
ModifierR=1
Point(Matches)
link(onMatch,13501458:doData,[])
link(onNotFound,10307742:doEvent1,[])
link(SourceStr,1983570:Result,[(349,516)(286,516)])
link(Expression,13863573:Var,[])
}
Add(HubEx,11141711,511,525)
{
link(onEvent,8570413:doValue,[])
}
Add(Hub,10307742,392,532)
{
link(onEvent1,12805414:doData,[(430,538)(430,573)])
link(onEvent2,10417390:doData,[(430,545)(430,615)])
}
Add(DoData,10417390,455,609)
{
Data=String(0)
}
Add(LineBreak,5904262,154,406)
{
Caption="Start Yandex"
link(Out,10781118:doStrCat,[])
Primary=[16357934,567,-203]
}
Add(LineBreak,7193101,539,462)
{
Caption="Тиц"
Type=1
link(Data,12563769:Value,[])
Primary=[6798492,616,-21]
}
Add(LineBreak,6099172,154,525)
{
Caption="Start клей"
link(Out,10626003:doSearch,[])
Primary=[13443203,308,-70]
}
Add(LineBreak,7163417,525,574)
{
Caption="Клей"
Type=1
link(Data,8570413:Value,[])
Primary=[12414457,637,-112]
}
Add(LineBreak,2035511,896,161)
{
Caption="http"
Type=1
link(Data,13927829:Var3,[(902,138)])
Primary=[834122,-609,322]
}
Add(LineBreak,14741551,833,210)
{
Caption="Domain"
Type=1
link(Data,117603:Result,[])
Primary=[13863573,-483,287]
}
Add(LineBreak,5729790,448,287)
{
Caption="http"
Type=1
link(Data,4000629:Var2,[])
Primary=[3831849,693,203]
}
Add(GetDataEx,4000629,448,252)
{
link(Data,16081067:Var2,[(454,246)(450,246)(450,260)(447,260)])
}
Add(GetDataEx,13927829,840,133)
{
link(Data,2159738:Text,[])
}
END_SDK
Add(MainForm,11326563,525,189)
{
Width=463
Height=477
Caption=""
Position=1
}
Add(Button,13777211,496,392)
{
Left=115
Top=45
Width=185
Height=30
Caption="Проверить"
link(onClick,11304990:doFor,[])
}
Add(Edit,12430023,581,334)
{
Left=10
Top=50
Text="5"
}
Add(Label,6950492,525,273)
{
Left=65
Top=55
Width=47
Height=17
Caption="Потоков"
}
Add(For,11304990,581,392)
{
End=5
link(onEvent,6114489:doWork2,[])
link(End,12430023:Text,[(594,379)(587,379)])
}
Add(LineBreak,8859598,670,279)
{
Caption="get_ip_port"
Type=1
link(Data,8737633:GetData,[])
Primary=[6487186,62,36]
}
Add(TCP_Server,5234581,525,231)
{
}
Add(EventFromData,8737633,670,237)
{
link(onEvent,10645816:doData,[])
}
Add(Timer,6989260,385,189)
{
Interval=100
link(onTimer,3105876:doData,[])
}
Add(FormatStr,13623212,476,189)
{
DataCount=1
Mask="Прокси чекер 1.1; Активных модулей: %1;"
link(onFString,11326563:doCaption,[])
}
Add(LineBreakEx,5700589,732,443)
{
Caption="CountMTCheck"
Type=3
link(_Data,7652017:##count,[])
}
Add(LineBreakEx,14012912,431,162)
{
Caption="CountMTCheck"
Type=2
}
Add(ChangeMon,3105876,431,189)
{
link(onData,13623212:doString,[])
link(Data,14012912:getVar,[])
}
Add(LineBreak,8882350,625,441)
{
Caption="End"
link(Out,16276923:doPush,[])
Primary=[3306489,152,-42]
}
Add(StrList,3673357,798,195)
{
Strings=#12:parfumeco.ru|13:stockihome.ru|12:k-magic38.ru|19:http://the-sever.ru|12:divasalon.su|12:apk-group.ru|15:tktechnology.ru|17:tktechnologija.ru|14:elektrostil.su|14:novinkaomsk.ru|22:nasha-mebel-kotovsk.ru|15:zooplaneta55.ru|18:grillandveggies.ru|11:mingryaz.ru|14:tsm-kuzbass.ru|11:ekopro74.ru|9:kct-nn.ru|18:technology-info.ru|12:soundmaxi.ru|12:zaptorg74.ru|11:eat-meat.ru|15:mimaki-kazan.ru|13:falke-shop.ru|11:perm-zuk.ru|14:zuki-moscow.ru|13:tourismrus.ru|8:ekt46.ru|10:t-proff.ru|
Point(doGetString)
Point(onGetString)
Point(IdxToSelect)
link(onGetString,8737633:doData,[(843,208)(843,302)(658,302)(658,243)])
}
Add(InfoTip,14774,644,168)
{
Info=#27:Список ip:port для проверки|
Width=218
Height=151
}
Add(Hub,6078942,762,237)
{
link(onEvent1,3673357:doGetString,[])
link(onEvent2,3673357:doDelete,[(787,250)(787,215)])
}
Add(DoData,10645816,715,237)
{
Data=Integer(0)
link(onEventData,6078942:doEvent1,[])
}
Add(Stack,16276923,672,441)
{
link(onPop,7652017:##hdelete,[(718,454)(718,405)])
link(Data,7652017:##eventHandle,[(678,433)(745,433)])
}
Add(Timer,9657903,626,459)
{
Interval=30
link(onTimer,16276923:doPop,[(665,465)(665,454)])
}
Add(Edit,9371808,952,357)
{
Left=10
Top=15
Width=290
Text=""
Alignment=2
}
Add(Hub,16344680,917,392)
{
OutCount=4
link(onEvent1,9371808:doText,[(941,398)(941,363)])
link(onEvent2,9855146:doAdd,[(941,405)(941,475)])
link(onEvent3,6114489:doWork3,[(943,412)(943,406)(669,406)])
link(onEvent4,2751593:doNext,[(943,419)(943,549)(863,549)(863,678)])
}
Add(Memo,9855146,952,469)
{
Left=10
Top=80
Width=290
Height=320
ScrollBars=2
link(onChange,2406197:doString,[(996,475)(996,527)(954,527)(954,580)])
}
Add(HubEx,6114489,665,392)
{
link(onEvent,7652017:##add,[])
}
Add(Label,6341754,1001,574)
{
Left=315
Top=35
Width=120
Caption="Строк в списке: 0"
}
Add(FormatStr,2406197,959,574)
{
DataCount=1
Mask="Строк: %1"
link(onFString,6341754:doText,[])
link(Str1,9855146:Count,[])
}
Add(Label,8343711,973,672)
{
Left=315
Top=15
Width=120
Caption="Выдано строк: 0"
}
Add(FormatStr,5745286,931,672)
{
DataCount=1
Mask="Выдано строк: %1"
link(onFString,8343711:doText,[])
}
Add(CounterEx,2751593,875,672)
{
Max=999999
Point(doMax)
Point(doReset)
Point(Min)
Point(Max)
Point(onThroughMax)
Point(onSet)
link(onNext,5745286:doString,[])
}

То есть в списке на проверку есть 28 доменов, а резултатов выдает каждый раз по разному, то на 24, то на 27 доменов из списка.
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#6: 2016-02-29 16:20:29 ЛС | профиль | цитата
theSever, а так
code_37008.txt
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_37008.txt [8.5KB] [5790]
Ответов: 92
Рейтинг: 0
#7: 2016-02-29 17:07:14 ЛС | профиль | цитата
Tad писал(а):
theSever, а так
code_37008.txt


Прогонов с пропуском данных нет, но странная ситуация со скоростью, ощущение что работает все в 1 потоке, от увелечения количества потоков время обработки не меняется.

Вот переделывал схему, потеря данных есть так же как и в прошлой схеме, так же возникают проблемы при изменение числа потоков (особенное если ставлю 1), но выполняется за 2 секунды примерно, тот вариант что ты скинул выполняется где-то за 4 секунды но данные передаются все.

code_37009.txt
карма: 0

0
файлы: 1code_37009.txt [10.8KB] [738]
Ответов: 16884
Рейтинг: 1239
#8: 2016-02-29 20:47:12 ЛС | профиль | цитата
theSever, ты вообще-то что-то знаешь про потоки ? Или про то, что в компьютере всё выполняется п о с л е д о в а т е л ь н о ?
При двухядерном процессоре можно организовать ДВА паралельных потока.
При четырёхядерном - ЧЕТЫРЕ паралельных потока.
Организация потоков, по большому счёту, как говорят на Украине - "дурному радiсть"
Для ускорения обработки, можно запускать с приоритетом.


карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26153
Рейтинг: 2127
#9: 2016-03-01 00:08:44 ЛС | профиль | цитата
А если так попробовать?

Add(MultiElementEx,7652017,336,385)
{
@Hint=#31:Модуль MultiThreads_Checker_1.1|
Mode=1
link(OnResult,16344680:doEvent1,[])
link(get_ip_port,8737633:GetData,[])
AddHint(72,-27,184,13,@Hint)
}
BEGIN_SDK
Add(EditMultiEx,9746293,21,14)
{
WorkCount=#5:##add|0:|
EventCount=#8:OnResult|0:|
VarCount=#7:##count|0:|
DataCount=#11:get_ip_port|0:|
Width=797
Height=410
VOffset=7
HOffset=140
Point(##add)
Point(##count)
link(##add,12468508:doWork1,[(137,27)])
}
Add(LineBreakEx,8666620,742,21)
{
Caption="Result"
Type=1
link(OnEvent,9746293:OnResult,[])
}
Add(LineBreakEx,6281593,679,322)
{
Caption="Result"
}
Add(DoData,3700032,161,119)
{
link(onEventData,8921393:doCase,[])
link(Data,9746293:get_ip_port,[])
}
Add(FormatStr,4957244,567,287)
{
DataCount=3
Mask="%1,%2,%3"
Point(FString)
link(Str1,3831849:Var,[])
link(Str3,12563769:Value,[])
}
Add(StrList,2159738,637,35)
{
Strings=#9:http://=;|10:https://=;|6:www.=;|3:/=;|
}
Add(MultiReplace,117603,630,119)
{
link(onResult,16357934:In,[])
link(Text,16081067:Var3,[(636,110)(622,110)(622,159)])
link(ReplaceList,13927829:Var2,[])
}
Add(LineBreakEx,1917053,679,343)
{
@Color=11206655
Caption="CheckNext"
}
Add(StrMask,9654815,259,119)
{
Mask="http*"
link(onFalse,7516542:doStrCat,[])
link(onTrue,7695048:doWork3,[(354,132)])
}
Add(StrCat,7516542,308,119)
{
Str1="http://"
link(onStrCat,7695048:doWork2,[])
}
Add(HubEx,7695048,350,119)
{
link(onEvent,16482908:doValue,[])
}
Add(GetDataEx,16081067,455,154)
{
link(Data,16482908:Value,[])
}
Add(HTTP_Get,9729894,364,196)
{
link(onDownload,1605886:doConvert,[])
link(onStop,10541705:doData,[(403,223)(403,258)(494,258)(494,342)])
}
Add(StrCat,10781118,308,196)
{
Str1="http://bar-navig.yandex.ru/u?ver=2&show=32&url="
link(onStrCat,9729894:doDownload,[])
link(Str2,16081067:Var1,[(321,159)])
}
Add(Convertor,1605886,413,203)
{
Mode=11
link(onResult,15115652:doSearch,[])
}
Add(BlockFind,10626003,245,287)
{
IncludeBlock=1
StartBlock="<yaca url=""
EndBlock=""/>"
Point(onNotFind)
link(onSearch,1983570:doMultiReplace,[])
}
Add(MultiReplace,1983570,294,287)
{
link(onResult,15176407:doExec,[])
link(ReplaceList,834122:Var,[])
}
Add(DoData,13501458,441,287)
{
Data=String(Нет)
link(onEventData,11141711:doWork2,[])
}
Add(DoData,12805414,441,329)
{
Data=String(Да)
link(onEventData,11141711:doWork3,[(487,335)])
}
Add(BlockFind,15115652,462,203)
{
IncludeBlock=1
StartBlock="value=""
EndBlock=""/>"
Point(onNotFind)
link(onSearch,12563769:doValue,[])
link(onEndSearch,10626003:doSearch,[(501,216)(501,251)(235,251)(235,293)])
}
Add(Memory,12563769,581,203)
{
@Hint=#15:Состояние хоста|
}
Add(RE_Search,15176407,343,287)
{
ModifierR=1
Point(Matches)
link(onMatch,13501458:doData,[])
link(onNotFound,12805414:doData,[(431,300)(431,335)])
link(SourceStr,1983570:Result,[(349,279)(333,279)(333,331)(300,331)])
link(Expression,13863573:Var,[])
}
Add(HubEx,11141711,483,287)
{
link(onEvent,4957244:doString,[])
}
Add(LineBreak,9066112,217,196)
{
Caption="Start Yandex"
link(Out,10781118:doStrCat,[])
Primary=[16357934,469,-77]
}
Add(LineBreak,5985864,574,105)
{
Caption="http"
Type=1
link(Data,13927829:Var1,[(580,89)])
Primary=[834122,-273,154]
}
Add(LineBreak,14820568,630,168)
{
Caption="Domain"
Type=1
link(Data,117603:Result,[])
Primary=[13863573,-280,91]
}
Add(LineBreak,15584220,455,168)
{
Caption="http"
Type=1
link(Data,16081067:Var2,[])
Primary=[3831849,112,84]
}
Add(LineBreakEx,13264522,42,119)
{
@Color=11206655
Caption="CheckNext"
Type=1
link(OnEvent,12468508:doWork2,[])
}
Add(HubEx,12468508,133,119)
{
link(onEvent,3700032:doData,[])
}
Add(DoData,10541705,567,336)
{
link(onEventData,8271393:doEvent1,[])
link(Data,4957244:FString,[])
}
Add(Hub,8271393,616,336)
{
link(onEvent1,6281593:doWork,[(641,342)(641,328)])
link(onEvent2,1917053:doWork,[])
}
Add(Case,8921393,210,119)
{
Value=String()
link(onNextCase,9654815:doCompare,[])
}
Add(Memory,16482908,455,119)
{
@Hint=#15:Состояние хоста|
link(onData,117603:doMultiReplace,[])
}
Add(GetDataEx,13927829,637,84)
{
link(Data,2159738:Text,[])
}
END_SDK
Add(MainForm,11326563,259,168)
{
Width=327
Height=480
Caption=""
BorderStyle=1
Position=1
}
Add(Button,13777211,210,385)
{
Left=115
Top=45
Width=185
Height=30
Caption="Проверить"
link(onClick,11304990:doFor,[])
}
Add(Edit,12430023,280,336)
{
Left=10
Top=50
Text="5"
}
Add(Label,6950492,259,252)
{
Left=65
Top=55
Width=47
Height=17
Caption="Потоков"
}
Add(For,11304990,273,385)
{
IncludeEnd=1
link(onEvent,7652017:##add,[])
link(End,12430023:Text,[])
}
Add(TCP_Server,5234581,259,210)
{
Port=5
}
Add(EventFromData,8737633,336,231)
{
link(onEvent,10645816:doData,[])
}
Add(Timer,6989260,119,168)
{
Interval=100
link(onTimer,3105876:doData,[])
}
Add(FormatStr,13623212,210,168)
{
DataCount=1
Mask="Чекер 1.1; Акт.модулей: %1;"
link(onFString,11326563:doCaption,[])
}
Add(LineBreakEx,5700589,336,427)
{
Caption="CountMTCheck"
Type=3
link(_Data,7652017:##count,[])
}
Add(LineBreakEx,14012912,161,140)
{
Caption="CountMTCheck"
Type=2
}
Add(ChangeMon,3105876,161,168)
{
link(onData,13623212:doString,[])
link(Data,14012912:getVar,[])
}
Add(StrList,3673357,469,189)
{
Strings=#12:parfumeco.ru|13:stockihome.ru|12:k-magic38.ru|19:http://the-sever.ru|12:divasalon.su|12:apk-group.ru|15:tktechnology.ru|17:tktechnologija.ru|14:elektrostil.su|14:novinkaomsk.ru|22:nasha-mebel-kotovsk.ru|15:zooplaneta55.ru|18:grillandveggies.ru|11:mingryaz.ru|14:tsm-kuzbass.ru|11:ekopro74.ru|9:kct-nn.ru|18:technology-info.ru|12:soundmaxi.ru|12:zaptorg74.ru|11:eat-meat.ru|15:mimaki-kazan.ru|13:falke-shop.ru|11:perm-zuk.ru|14:zuki-moscow.ru|13:tourismrus.ru|8:ekt46.ru|10:t-proff.ru|
Point(doGetString)
Point(onGetString)
Point(IdxToSelect)
link(onGetString,8737633:doData,[(514,202)(514,302)(329,302)(329,237)])
}
Add(InfoTip,14774,315,168)
{
Info=#27:Список ip:port для проверки|
Width=218
Height=151
}
Add(Hub,6078942,427,231)
{
link(onEvent1,3673357:doGetString,[])
link(onEvent2,3673357:doDelete,[(458,244)(458,209)])
}
Add(DoData,10645816,385,231)
{
Data=Integer(0)
link(onEventData,6078942:doEvent1,[])
}
Add(Edit,9371808,574,385)
{
Left=10
Top=15
Width=290
Text=""
Alignment=2
}
Add(Hub,16344680,525,385)
{
link(onEvent1,9371808:doText,[])
link(onEvent2,9855146:doAdd,[(549,398)(549,433)])
}
Add(Memo,9855146,574,427)
{
Left=10
Top=80
Width=290
Height=355
ScrollBars=2
}

карма: 22

0
Ответов: 92
Рейтинг: 0
#10: 2016-03-01 00:35:23 ЛС | профиль | цитата
Tad писал(а):
theSever, ты вообще-то что-то знаешь про потоки ? Или про то, что в компьютере всё выполняется п о с л е д о в а т е л ь н о ?

Каюсь, в потоках еле как соображаю)

nesco писал(а):
А если так попробовать?


Вот этот вариант работает на отлично, данные не пропускает, выполняется так же секунды за 2 при 5 потоках. Спасибо!

Парни зашлите в лс куда вам спасибо отправить, а то я неделю над этим уже тупил сидел)
карма: 0

0
Разработчик
Ответов: 26153
Рейтинг: 2127
#11: 2016-03-01 00:52:34 ЛС | профиль | цитата
theSever, личка для участников может быть недоступна, тч пиши на почту -- nesco_sochi<собака>mail.ru
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#12: 2016-03-01 09:49:14 ЛС | профиль | цитата
nesco, не смущает :
thesever_3.gif
3 из 10
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1thesever_3.gif [52.2KB] [777]
Разработчик
Ответов: 26153
Рейтинг: 2127
#13: 2016-03-01 10:20:05 ЛС | профиль | цитата
Tad писал(а):
не смущает

Сколько ни запускал, такого не было ни разу
------------ Дoбавленo в 10.20:
Вот сейчас запустил подряд 10 раз, ни одного сбоя. Пока такого не проявится, я ничего не могу сказать. Попробую еще запустить на другом компе
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#14: 2016-03-01 11:09:25 ЛС | профиль | цитата
nesco, Ну мой запрос идет по другому пути - только в штаты заворачивает три раза !
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26153
Рейтинг: 2127
#15: 2016-03-01 12:19:51 ЛС | профиль | цитата
Tad писал(а):
только в штаты заворачивает три раза

Это у них наверное санкции на кириллические домены
------------ Дoбавленo в 12.02:
О! На другом компе я поймал один раз такое. Вставил таймер, больше не ловилось. Tad, попробуй поставить, как оно поведет у тебя

fix_bug_121.png
------------ Дoбавленo в 12.19:
Можно еще вот так попробовать защитить, но таймер надо будет выкинуть. Это гарантированно не даст запуска второго потока, пока не освободится полностью первый и не встанет в очередь на удаление через AutoFree

fix_bug_122.png
карма: 22

0
файлы: 2fix_bug_121.png [22.9KB] [759], fix_bug_122.png [3.1KB] [844]
Сообщение
...
Прикрепленные файлы
(файлы не залиты)