如果我有一个并发hashmap,我想记录在同一个文件中修改hashmap的每个操作。 然后三个工作线程(例如A,B,C)可以访问hashmap和日志文件,id生成器将为worker接收的每个任务生成id。
例如:
workers: A B C
tasks: a b c
ids: 1 2 3
completed orders:c b a
工人:A,B,C收到三个任务:a,b,c依次。 a,b,c的id为1,2,3。但是,任务可能按c,b,a的顺序完成,然后以错误的顺序写入日志文件。当然,如果id已完成,我可以拒绝将日志写入文件任务小于有史以来最大的id,但是hashmap已经改变了。所以我该怎么做才能确保它们 按顺序记录。