Console buffers when I clear during loops

Viewed 34

Code:

import os, ctypes, threading

cool = 0
started_t = True
threads = 10
lock = threading.Lock()

def output():
    global cool
    cool += 1
    lock.acquire()
    os.system("cls")
    print("Current Counter:", cool)
    lock.release()

while started_t:
    if threading.active_count() <= threads:
        try:
            threading.Thread(target = output).start()
        except:
            pass

The code is an example but what I am trying to do is: A specific value will be changed throughout my code and constantly using threading the console is cleared (cls) and then printed. Even using threading.Lock() it still doesn't print properly.

The main problem: It prints too fast, I heard something like "buffers" and there are ways to get around it. I googled and try to find anything but no luck. Sometimes it's printing more than 1 at once etc. More threads the worse :(

0 Answers
Related