Archives
Trending
Support
Login
clear text
XML
Django
JavaScript
MATLAB
C
C++
C#
Python
SQL
Shell
Bash
Markdown
YAML
JSON
HTML
CSS
PHP
Java
Ruby
Go
Rust
Swift
Kotlin
Arduino
TypeScript
Perl
Autohotkey
Lua
SQF
R
Scala
Haskell
Groovy
Dart
Clojure
VB.NET
Objective-C
PowerShell
Bash
CoffeeScript
Verilog
from multiprocessing import Process, Queue def some_func(a, b, c): return a + b + c class Worker(Process): def __init__(self, func: callable, func_args: list, queue: Queue): super().__init__(target=func, args=func_args) self.__func = func self.__func_args = func_args self.__queue = queue def run(self): super().run() if not q.full(): result = self.__func(*self.__func_args) self.__queue.put(result) else: print('Очередь полна!') def start(self): return self.run() def is_alive(self): return super().is_alive() def join(self, **kwargs): if self.is_alive(): return super().join(**kwargs) def terminate(self): if self.is_alive(): return super().terminate() def close(self): return super().close() if __name__ == '__main__': q = Queue(2) w = Worker(some_func, [1, 1, 1], q) w.start() w1 = Worker(some_func, [1, 1, 1], q) w1.start() w2 = Worker(some_func, [1, 1, 1], q) w2.start() if q.full(): print("Очередь заполнена.") else: print("Очередь не заполнена.")
Mark as private (unlisted)
for 30 minutes
for 6 hours
for 1 day
for 1 week
for 1 month
for 1 year
everlasting (like CCCP)