Yüzlerce yerde konsola yazdıran çok iş parçacıklı bir programım var. Ne yazık ki, yerineİş parçacığı güvenli hale getirme
Line 2
Line 1
Line 3
I
Line2Line1
Line3
olsun ben puts
parçacığı güvenli hale getirmek için çalışıyorum.
, ben Ruby bu çalışıyorum
old_print = print
print_mutex = threading.Lock()
def print(*args, **kwargs):
print_mutex.acquire()
try:
old_print(*args, **kwargs)
finally:
print_mutex.release()
, yapardım
old_puts = puts
puts_mutex = Mutex.new
def puts(*args)
puts_mutex.synchronize {
old_puts(*args)
}
Ama bu işe yaramazsa: "tanımsız yöntemi old_puts
"
İplik güvenliğini nasıl sağlayabilirim (ör. kısmi çizgiler yazdırmak değil)?
İpucu: 'old_puts = puts 'yaptığınız zaman örtük olarak yapıyorsunuz' old_puts = koyar()' –