我正在为一个映像编写一个 Dockerfile,该映像在运行时按顺序执行以下两件事:
问题是 ENTRYPOINT 只能作为单个用户运行(以 Dockerfile 中 ENTRYPOINT 之前最后设置的 USER 为准)。在这种情况下,ENTRYPOINT 只能以 root 或非 root 用户身份运行。
我不能将 CMD 命令放在 ENTRYPOINT 之前,因为它们只会被 ENTRYPOINT 覆盖。
我怎样才能完成我需要的事情?
假设我有一个初始化但空的std :: unordered_map,以及两个将同时填充它的线程.这两个线程只会写入地图,在完成两个线程之前,不会从地图中读取任何内容.
此外,两个线程将永远不会在地图中的相同键上操作.例如,假设线程1将填充键"A"到"M",并且线程2将同时填充键"N"到"Z".
这个线程安全吗?
在我当前的实现中,我有8个线程以上述方式写入单个互斥的std :: unordered_map.互斥体显然会减慢进程(有近10,000个密钥被填充),所以我想知道我是否需要互斥锁.
谢谢大家!