小编Mar*_*aky的帖子

实现代码以在python中的多个进程之上启动多个线程

扩展我之前问过的关于 python 中多进程之上的多线程的问题

我可以在多进程程序的每个进程上执行多线程吗?

所以我正在尝试实现一个实现这一目标的示例。首先,我生成了 2 个进程,每个进程将在其中创建 10 个线程,但这里看起来有些不对劲。我没有实现任何类型的锁或信号量,所以我希望输出被打乱(如示例 3 所示)。当我运行此代码示例 1 和 2 时,会以正确的格式打印。例如 2 我什至尝试创建 2 个线程来启动每个进程,以确保它们没有按顺序启动。!为什么会这样?我错过了什么,协调发生在哪里?

import multiprocessing, threading, time

def startThreads(n):
    threads = [threading.Thread(target=printer, args=(n, i))  for i in range(10)]
    [t.start() for t in threads]
    [t.join() for t in threads]

def printer(process_num, thread_num):
    time.sleep(1)
    print(f"Process number: {process_num} thread number: {thread_num}")
    print(f"Process number: P thread number: T")

if __name__ == '__main__':

    # Example 1
    pros = [multiprocessing.Process(target=startThreads, args=(p_num, )) for p_num in range(5)]
    [p.start() for p in …
Run Code Online (Sandbox Code Playgroud)

python multithreading multiprocessing python-3.x

6
推荐指数
1
解决办法
244
查看次数

在 postgresql 中获取空/打开时间范围

我正在尝试找到开放班次,其中:

  • 第一个班次从早上 6 点开始
  • 最后一班在上午 12 点结束

IE:

鉴于以下数据/天:

start_time | end_time
-----------|---------
9  AM      |  3  PM
5  PM      |  10 PM
Run Code Online (Sandbox Code Playgroud)

预期成绩:

start_time | end_time
-----------|---------
6  AM      | 9  AM
3  PM      | 5  PM
10 PM      | 12 AM
Run Code Online (Sandbox Code Playgroud)

这是我尝试过的,但它不起作用(我离正确答案还很远)

SELECT *
FROM WORKERS_SCHEDULE
WHERE START_TIME not BETWEEN 
    ANY (SELECT START_TIME FROM WORKERS_SCHEDULE)
    AND (SELECT START_TIME FROM WORKERS_SCHEDULE)
Run Code Online (Sandbox Code Playgroud)

start_time并且end_time是数据类型TIME

sql postgresql union datetime date

5
推荐指数
1
解决办法
67
查看次数