Correct way to run multithreading in a loop

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP












0














I am running an online shop, and I have a big file with email addresses of customers, but the list is very old, like +15 years old. I bought code from codecanyon that checks the list, but it is very slow.



I tried to make it run multithreaded, but something is very wrong with my code, can you help me out?



The code works, but not the way I want it to. Now it checks the same email x %thread_nr. If I set 10 threads, it checks the same email 10x times.



What is wrong ?



<?php
require_once('email_checker.class.php');

class Task extends Threaded

private $value;

public function __construct(int $i)

$this->value = $i;

public function run()

$file_lines = file('mail.txt');
$emailChecker = new emailChecker; // Make a new instance

foreach ($file_lines as $line)

$response = $emailChecker->check($line);
foreach($response as $result)
echo $result['query'].'-'.$result['success']."n";






$file_lines = file('mail.txt');
# Create a pool of 4 threads
$pool = new Pool(4);
for ($i = 0; $i < 15000; ++$i)

$pool->submit(new Task($i));


while ($pool->collect());

$pool->shutdown();









share|improve this question















migrated from unix.stackexchange.com Dec 15 at 7:59


This question came from our site for users of Linux, FreeBSD and other Un*x-like operating systems.














  • Hi, I might be able to help. Can you explain better
    – Moorexa
    Dec 15 at 8:18















0














I am running an online shop, and I have a big file with email addresses of customers, but the list is very old, like +15 years old. I bought code from codecanyon that checks the list, but it is very slow.



I tried to make it run multithreaded, but something is very wrong with my code, can you help me out?



The code works, but not the way I want it to. Now it checks the same email x %thread_nr. If I set 10 threads, it checks the same email 10x times.



What is wrong ?



<?php
require_once('email_checker.class.php');

class Task extends Threaded

private $value;

public function __construct(int $i)

$this->value = $i;

public function run()

$file_lines = file('mail.txt');
$emailChecker = new emailChecker; // Make a new instance

foreach ($file_lines as $line)

$response = $emailChecker->check($line);
foreach($response as $result)
echo $result['query'].'-'.$result['success']."n";






$file_lines = file('mail.txt');
# Create a pool of 4 threads
$pool = new Pool(4);
for ($i = 0; $i < 15000; ++$i)

$pool->submit(new Task($i));


while ($pool->collect());

$pool->shutdown();









share|improve this question















migrated from unix.stackexchange.com Dec 15 at 7:59


This question came from our site for users of Linux, FreeBSD and other Un*x-like operating systems.














  • Hi, I might be able to help. Can you explain better
    – Moorexa
    Dec 15 at 8:18













0












0








0







I am running an online shop, and I have a big file with email addresses of customers, but the list is very old, like +15 years old. I bought code from codecanyon that checks the list, but it is very slow.



I tried to make it run multithreaded, but something is very wrong with my code, can you help me out?



The code works, but not the way I want it to. Now it checks the same email x %thread_nr. If I set 10 threads, it checks the same email 10x times.



What is wrong ?



<?php
require_once('email_checker.class.php');

class Task extends Threaded

private $value;

public function __construct(int $i)

$this->value = $i;

public function run()

$file_lines = file('mail.txt');
$emailChecker = new emailChecker; // Make a new instance

foreach ($file_lines as $line)

$response = $emailChecker->check($line);
foreach($response as $result)
echo $result['query'].'-'.$result['success']."n";






$file_lines = file('mail.txt');
# Create a pool of 4 threads
$pool = new Pool(4);
for ($i = 0; $i < 15000; ++$i)

$pool->submit(new Task($i));


while ($pool->collect());

$pool->shutdown();









share|improve this question















I am running an online shop, and I have a big file with email addresses of customers, but the list is very old, like +15 years old. I bought code from codecanyon that checks the list, but it is very slow.



I tried to make it run multithreaded, but something is very wrong with my code, can you help me out?



The code works, but not the way I want it to. Now it checks the same email x %thread_nr. If I set 10 threads, it checks the same email 10x times.



What is wrong ?



<?php
require_once('email_checker.class.php');

class Task extends Threaded

private $value;

public function __construct(int $i)

$this->value = $i;

public function run()

$file_lines = file('mail.txt');
$emailChecker = new emailChecker; // Make a new instance

foreach ($file_lines as $line)

$response = $emailChecker->check($line);
foreach($response as $result)
echo $result['query'].'-'.$result['success']."n";






$file_lines = file('mail.txt');
# Create a pool of 4 threads
$pool = new Pool(4);
for ($i = 0; $i < 15000; ++$i)

$pool->submit(new Task($i));


while ($pool->collect());

$pool->shutdown();






php multithreading






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Dec 17 at 15:16









DarkMukke

2,18011728




2,18011728










asked Dec 14 at 23:01









Jonson

134




134




migrated from unix.stackexchange.com Dec 15 at 7:59


This question came from our site for users of Linux, FreeBSD and other Un*x-like operating systems.






migrated from unix.stackexchange.com Dec 15 at 7:59


This question came from our site for users of Linux, FreeBSD and other Un*x-like operating systems.













  • Hi, I might be able to help. Can you explain better
    – Moorexa
    Dec 15 at 8:18
















  • Hi, I might be able to help. Can you explain better
    – Moorexa
    Dec 15 at 8:18















Hi, I might be able to help. Can you explain better
– Moorexa
Dec 15 at 8:18




Hi, I might be able to help. Can you explain better
– Moorexa
Dec 15 at 8:18












1 Answer
1






active

oldest

votes


















0














If I was in that situation I would rework the code so its cleaner, and broken into the smallest functions. Checking that the functions work individually.



I would also test that the code works without multi-threading first, with a small portion of your emails.






share|improve this answer
















  • 1




    Great recommendations, but really just a comment, not an answer.
    – tink
    Dec 15 at 4:09










  • The code without multithreading is working.
    – Jonson
    Dec 15 at 4:23










Your Answer






StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53790604%2fcorrect-way-to-run-multithreading-in-a-loop%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









0














If I was in that situation I would rework the code so its cleaner, and broken into the smallest functions. Checking that the functions work individually.



I would also test that the code works without multi-threading first, with a small portion of your emails.






share|improve this answer
















  • 1




    Great recommendations, but really just a comment, not an answer.
    – tink
    Dec 15 at 4:09










  • The code without multithreading is working.
    – Jonson
    Dec 15 at 4:23















0














If I was in that situation I would rework the code so its cleaner, and broken into the smallest functions. Checking that the functions work individually.



I would also test that the code works without multi-threading first, with a small portion of your emails.






share|improve this answer
















  • 1




    Great recommendations, but really just a comment, not an answer.
    – tink
    Dec 15 at 4:09










  • The code without multithreading is working.
    – Jonson
    Dec 15 at 4:23













0












0








0






If I was in that situation I would rework the code so its cleaner, and broken into the smallest functions. Checking that the functions work individually.



I would also test that the code works without multi-threading first, with a small portion of your emails.






share|improve this answer












If I was in that situation I would rework the code so its cleaner, and broken into the smallest functions. Checking that the functions work individually.



I would also test that the code works without multi-threading first, with a small portion of your emails.







share|improve this answer












share|improve this answer



share|improve this answer










answered Dec 15 at 3:40









Alberto Salvia Novella

93




93







  • 1




    Great recommendations, but really just a comment, not an answer.
    – tink
    Dec 15 at 4:09










  • The code without multithreading is working.
    – Jonson
    Dec 15 at 4:23












  • 1




    Great recommendations, but really just a comment, not an answer.
    – tink
    Dec 15 at 4:09










  • The code without multithreading is working.
    – Jonson
    Dec 15 at 4:23







1




1




Great recommendations, but really just a comment, not an answer.
– tink
Dec 15 at 4:09




Great recommendations, but really just a comment, not an answer.
– tink
Dec 15 at 4:09












The code without multithreading is working.
– Jonson
Dec 15 at 4:23




The code without multithreading is working.
– Jonson
Dec 15 at 4:23

















draft saved

draft discarded
















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.





Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


Please pay close attention to the following guidance:


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53790604%2fcorrect-way-to-run-multithreading-in-a-loop%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown






Popular posts from this blog

How to check contact read email or not when send email to Individual?

Displaying single band from multi-band raster using QGIS

How many registers does an x86_64 CPU actually have?