Data race là trường hợp ít nhất 2 thread chạy concurrently và cùng truy cập tới 1 shared resource. Và ít nhất có 1 anh thay đổi giá trị của biến đó.
Nếu thread nào cũng read-only thì sẽ không có data race.
Trong thực tế, ví dụ của data race là bài toán kinh điển rút tiền tại cây ATM.
Giả sử có 1 thẻ ATM và 1 thẻ Visa Debit cùng link đến 1 tài khoản ngân hàng và đi rút tiền cùng lúc.
Trong tài khoản còn 50k vừa đủ làm bát bún real cool và cốc trà đá. Mình đồng thời rút ở cả 2 máy ATM 50k. Nếu không xử lý data race, mình sẽ may mắn rút được tổng cộng 100k ở cả 2 máy.
Để giải quyết chỉ cần bật Mutex lock, hoặc trong java có keyword synchronized là xong
Race condition lại là vấn đề của thứ tự thực thi dẫn tới sai lệch về dữ liệu
@trunghautran0102@leehung mình vừa làm lại từ đầu bài thấy ko có lỗi gì cả, các bạn cần phải check lại thật kĩ domain của các bạn ở bước lấy session nhé, dùng domain nó xuyên suốt cả bài, để ý kĩ file ingress.yml cũng phải dùng đúng domain đó
@monmen Em cảm ơn bác ạ, như bác nói thì em đang hiểu là mình sẽ bỏ luôn job worker.Bác có thể cho e xin contact được không ạ, e muốn nhờ bác tư vấn thêm chút cho bài toán của em ạ
@xuandaikk113 Kubespray nó gọi ansible-playbook và có kiểm tra kết quả của bước, bước nào fail thì khi chạy lại nó sẽ thực hiện lại cho tới khi thành công b nhé
THẢO LUẬN
Viết như dùng google dịch =))
Race condition & data race là gì?
Data race là trường hợp ít nhất 2 thread chạy concurrently và cùng truy cập tới 1 shared resource. Và ít nhất có 1 anh thay đổi giá trị của biến đó. Nếu thread nào cũng read-only thì sẽ không có data race.
Để giải quyết chỉ cần bật Mutex lock, hoặc trong java có keyword
synchronizedlà xongRace condition lại là vấn đề của thứ tự thực thi dẫn tới sai lệch về dữ liệu
Ví dụ: Cùng 1 biến i = 5
Nếu thứ tự thay đổi thì sao:
https://viblo.asia/p/010-nham-tuong-ve-data-race-va-race-condition-bWrZnVG9Zxw
https://viblo.asia/p/007-data-race-va-mutual-exclusion-4dbZNGvmlYM
mình có vẻ cài sai aws cli hay sao khi nhập lệnh create-table nó cứ bắt mình xác định region
Nice 😎
Combo hiện tại em dùng là Oh-my-fish + Oh-my-tmux =))
Lâu lắm rồi em không dùng zsh, dạo này em dùng fish mất rồi.
)
askl;djfl;aksdjfkl;ajsdkl;fasdf
@Langkhach telegram minhpq nhé
@trunghautran0102 bạn đang dùng domain nào vậy
todo.trantrunghau.id.vnlà ở đâu ra đó bạn?Trong bài này domain của các bạn sẽ luôn có dạng
xxx.learnk8s.jamesisme.comxem lại bước Lấy Session mình đã note rất rõ trong bài nhé@trunghautran0102 @leehung mình vừa làm lại từ đầu bài thấy ko có lỗi gì cả, các bạn cần phải check lại thật kĩ domain của các bạn ở bước lấy session nhé, dùng domain nó xuyên suốt cả bài, để ý kĩ file
ingress.ymlcũng phải dùng đúng domain đóhay quá ạ
Cứ mỗi lần cài lại máy là phải vào bài của Kim copy. Thanks em nhé
@monmen Em cảm ơn bác ạ, như bác nói thì em đang hiểu là mình sẽ bỏ luôn job worker.Bác có thể cho e xin contact được không ạ, e muốn nhờ bác tư vấn thêm chút cho bài toán của em ạ
Vậy Vite có nhược điểm gì không ạ và cách mình tiếp cận để xử lý các vấn đề nhược điểm đó như thế nào ạ.
♥️♥️
cái này chắc a cũng cân nhắc làm thành 1 series quá, có nhiều vấn đề khá hay xung quanh
)
Quá hay ạ ad ^^
Cảm ơn bạn nhiều!
@xuandaikk113 Kubespray nó gọi ansible-playbook và có kiểm tra kết quả của bước, bước nào fail thì khi chạy lại nó sẽ thực hiện lại cho tới khi thành công b nhé
@maitrungduc1410 còn giao tiếp giữa các module thì sẽ như nào ạ? Mong anh có thể làm về vấn đề này. Em cảm ơn ạ