如果直接修改当前 slice,那其他 slice 和当前 slice 用的同一个指针,数据不也被改了吗
有薪资范围吗
如果线程内对变量只有一个写操作或者都是读操作,大部分场景应该都不需要上锁。但是如果在线程内对这个变量有多个操作的话,比如写和读,是需要上锁的,否则你刚改完,后面再读就可能被其他线程改了,读到的结果可能就不是你希望的
t = Time.now.to_i + 5
flag = true
ta = Thread.new(flag) do
while flag do
puts 'Thread A...'
sleep 1
if Time.now.to_i > t
puts 'Thread A quit...'
flag = false
end
end
end
tb = Thread.new(flag) do
while flag do
puts 'Thread B...'
sleep 1
end
end
tc = Thread.new(flag) do
while flag do
puts 'Thread C...'
sleep 1
end
end
[ta, tb, tc].each(&:join)
same_site: 'None' 试下。另外再说下,如果你想跨站携带 cookie 的话,除了将 cookie 的 SameSite 设置为 None,还要设置 Secure 属性,最后还要用 https