Is it possible to interrupt the main thread using child thread?Stop all threads using threading.Event()What is the difference between a process and a thread?Is there any way to kill a Thread?“implements Runnable” vs “extends Thread” in JavaHow do I update the GUI from another thread?What is thread safe or non-thread safe in PHP?What is a daemon thread in Java?How to use threading in Python?Multiprocessing vs Threading PythonPython threading, why can i launch thread only once?Stop all threads using threading.Event()

What does "sardine box" mean?

What should I call bands of armed men in Medieval Times?

Can the ground attached to neutral fool a receptacle tester?

If "more guns less crime", how do gun advocates explain that the EU has less crime than the US?

Te-form and かつ and も?

function evaluation - I don't get it

Tikzpicture - finish drawing a curved line for a cake slice

What does Apple mean by "This may decrease battery life"?

On the Rømer experiments and the speed if light

First amendment and employment: Can a police department terminate an officer for speech?

Not going forward with internship interview process

Identification of vintage sloping window

Am I overreacting to my team leader's unethical requests?

AsyncDictionary - Can you break thread safety?

Write an interpreter for *

Why are Gatwick's runways too close together?

How many different ways are there to checkmate in the early game?

What are the uses and limitations of Persuasion, Insight, and Deception against other PCs?

What is the maximum number of PC-controlled undead?

What gave Harry Potter the idea of writing in Tom Riddle's diary?

Why is transplanting a specific intact brain impossible if it is generally possible?

What are the conventions for transcribing Semitic languages into Greek?

DeclareMathOperator and widearcarrow with kpfonts

As a 16 year old, how can I keep my money safe from my mother?



Is it possible to interrupt the main thread using child thread?


Stop all threads using threading.Event()What is the difference between a process and a thread?Is there any way to kill a Thread?“implements Runnable” vs “extends Thread” in JavaHow do I update the GUI from another thread?What is thread safe or non-thread safe in PHP?What is a daemon thread in Java?How to use threading in Python?Multiprocessing vs Threading PythonPython threading, why can i launch thread only once?Stop all threads using threading.Event()






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








1















I have a function that will compute something then put it on a PDF. However, this process takes time. Because of this, we implement stop button for the user to stop the process.



I tried using thread.Event(), but the function I am working with is a non-looping function. This means that, I can't regularly check if event is set. (Hard coding the application by simply putting multiple checker will do but nope -- that idea is not accepted).



def generate_data(self, event):
self.thread = threading.Thread(target=self.check_event)
self.thread.start()
...

def check_event(self):
while True:
if self.event.is_set():
self.controller.enable_run_btn_and_tab()
return
time.sleep(1)


My idea is to create another thread that will regularly check if event is set so I can return and exit the function. However, the above code for def check_event(self) will only exit the child thread, not the thread for generate_date(self).



Is there some code or modification in my code to stop the main thread using child thread?










share|improve this question


























  • Possible duplicate of Stop all threads using threading.Event()

    – user4815162342
    Mar 28 at 5:59











  • If you don't have control over your work function, isolate it in a subprocess, which can be killed.

    – Dima Tisnek
    Mar 28 at 6:50

















1















I have a function that will compute something then put it on a PDF. However, this process takes time. Because of this, we implement stop button for the user to stop the process.



I tried using thread.Event(), but the function I am working with is a non-looping function. This means that, I can't regularly check if event is set. (Hard coding the application by simply putting multiple checker will do but nope -- that idea is not accepted).



def generate_data(self, event):
self.thread = threading.Thread(target=self.check_event)
self.thread.start()
...

def check_event(self):
while True:
if self.event.is_set():
self.controller.enable_run_btn_and_tab()
return
time.sleep(1)


My idea is to create another thread that will regularly check if event is set so I can return and exit the function. However, the above code for def check_event(self) will only exit the child thread, not the thread for generate_date(self).



Is there some code or modification in my code to stop the main thread using child thread?










share|improve this question


























  • Possible duplicate of Stop all threads using threading.Event()

    – user4815162342
    Mar 28 at 5:59











  • If you don't have control over your work function, isolate it in a subprocess, which can be killed.

    – Dima Tisnek
    Mar 28 at 6:50













1












1








1








I have a function that will compute something then put it on a PDF. However, this process takes time. Because of this, we implement stop button for the user to stop the process.



I tried using thread.Event(), but the function I am working with is a non-looping function. This means that, I can't regularly check if event is set. (Hard coding the application by simply putting multiple checker will do but nope -- that idea is not accepted).



def generate_data(self, event):
self.thread = threading.Thread(target=self.check_event)
self.thread.start()
...

def check_event(self):
while True:
if self.event.is_set():
self.controller.enable_run_btn_and_tab()
return
time.sleep(1)


My idea is to create another thread that will regularly check if event is set so I can return and exit the function. However, the above code for def check_event(self) will only exit the child thread, not the thread for generate_date(self).



Is there some code or modification in my code to stop the main thread using child thread?










share|improve this question
















I have a function that will compute something then put it on a PDF. However, this process takes time. Because of this, we implement stop button for the user to stop the process.



I tried using thread.Event(), but the function I am working with is a non-looping function. This means that, I can't regularly check if event is set. (Hard coding the application by simply putting multiple checker will do but nope -- that idea is not accepted).



def generate_data(self, event):
self.thread = threading.Thread(target=self.check_event)
self.thread.start()
...

def check_event(self):
while True:
if self.event.is_set():
self.controller.enable_run_btn_and_tab()
return
time.sleep(1)


My idea is to create another thread that will regularly check if event is set so I can return and exit the function. However, the above code for def check_event(self) will only exit the child thread, not the thread for generate_date(self).



Is there some code or modification in my code to stop the main thread using child thread?







python-3.x multithreading






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Mar 28 at 11:11









dirn

11.9k3 gold badges39 silver badges52 bronze badges




11.9k3 gold badges39 silver badges52 bronze badges










asked Mar 27 at 8:33









Arci Jeirico MalabananArci Jeirico Malabanan

917 bronze badges




917 bronze badges















  • Possible duplicate of Stop all threads using threading.Event()

    – user4815162342
    Mar 28 at 5:59











  • If you don't have control over your work function, isolate it in a subprocess, which can be killed.

    – Dima Tisnek
    Mar 28 at 6:50

















  • Possible duplicate of Stop all threads using threading.Event()

    – user4815162342
    Mar 28 at 5:59











  • If you don't have control over your work function, isolate it in a subprocess, which can be killed.

    – Dima Tisnek
    Mar 28 at 6:50
















Possible duplicate of Stop all threads using threading.Event()

– user4815162342
Mar 28 at 5:59





Possible duplicate of Stop all threads using threading.Event()

– user4815162342
Mar 28 at 5:59













If you don't have control over your work function, isolate it in a subprocess, which can be killed.

– Dima Tisnek
Mar 28 at 6:50





If you don't have control over your work function, isolate it in a subprocess, which can be killed.

– Dima Tisnek
Mar 28 at 6:50












0






active

oldest

votes










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%2f55372774%2fis-it-possible-to-interrupt-the-main-thread-using-child-thread%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes




Is this question similar to what you get asked at work? Learn more about asking and sharing private information with your coworkers using Stack Overflow for Teams.







Is this question similar to what you get asked at work? Learn more about asking and sharing private information with your coworkers using Stack Overflow for Teams.



















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.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55372774%2fis-it-possible-to-interrupt-the-main-thread-using-child-thread%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

Kamusi Yaliyomo Aina za kamusi | Muundo wa kamusi | Faida za kamusi | Dhima ya picha katika kamusi | Marejeo | Tazama pia | Viungo vya nje | UrambazajiKuhusu kamusiGo-SwahiliWiki-KamusiKamusi ya Kiswahili na Kiingerezakuihariri na kuongeza habari

Swift 4 - func physicsWorld not invoked on collision? The Next CEO of Stack OverflowHow to call Objective-C code from Swift#ifdef replacement in the Swift language@selector() in Swift?#pragma mark in Swift?Swift for loop: for index, element in array?dispatch_after - GCD in Swift?Swift Beta performance: sorting arraysSplit a String into an array in Swift?The use of Swift 3 @objc inference in Swift 4 mode is deprecated?How to optimize UITableViewCell, because my UITableView lags

Access current req object everywhere in Node.js ExpressWhy are global variables considered bad practice? (node.js)Using req & res across functionsHow do I get the path to the current script with Node.js?What is Node.js' Connect, Express and “middleware”?Node.js w/ express error handling in callbackHow to access the GET parameters after “?” in Express?Modify Node.js req object parametersAccess “app” variable inside of ExpressJS/ConnectJS middleware?Node.js Express app - request objectAngular Http Module considered middleware?Session variables in ExpressJSAdd properties to the req object in expressjs with Typescript