Multithreading 多线程Firebase函数

Multithreading 多线程Firebase函数,multithreading,typescript,firebase,google-cloud-functions,Multithreading,Typescript,Firebase,Google Cloud Functions,因此,我正在开发一个Firebase函数,它接受用户的请求并更新这些用户正在侦听的分支下的几个节点 我的问题是,如果函数同时接收两个客户端请求,则会触发两个函数同时执行和更新数据 我知道这通常是通过事务解决的,但我的更新是在不同的节点上完成的,而不仅仅是一个值(即计数器) 在传统的多线程编程中,这个问题是通过锁定代码的执行来解决的,因此它只能由一个线程执行,而当前线程完成后,下一个线程将继续执行 这是Firebase函数中的一个选项吗?如果是这样的话,怎么做呢?在任何环境中,目前都没有云函数中的

因此,我正在开发一个Firebase函数,它接受用户的请求并更新这些用户正在侦听的分支下的几个节点

我的问题是,如果函数同时接收两个客户端请求,则会触发两个函数同时执行和更新数据

我知道这通常是通过事务解决的,但我的更新是在不同的节点上完成的,而不仅仅是一个值(即计数器)

在传统的多线程编程中,这个问题是通过锁定代码的执行来解决的,因此它只能由一个线程执行,而当前线程完成后,下一个线程将继续执行


这是Firebase函数中的一个选项吗?如果是这样的话,怎么做呢?

在任何环境中,目前都没有云函数中的线程,包括节点和python。您不应该依赖于云功能中的进程级锁定——使用数据库事务来确保更新是原子的和一致的。您的每个函数调用都将彼此完全隔离。

谢谢Doug,我想我需要重写函数和结构,这样它们之间就不会有太多冲突。在Google Cloud Functions的Python环境中线程仍然不可用吗?抱歉,我对python运行时一无所知。@DougStevenson关于Go运行时呢?你是说goroutines不受支持,还是它们只是在一个线程上按顺序调度和运行?