W mojej aplikacji, istnieje wiele wątków próbuje wstawić do MySQL database.Is executeUpdate metoda wątku bezpieczny w użyciu? W jaki sposób można dokonać tej pracy?Czy metoda executeUpdate w Javie jest bezpieczna dla wątków?
Odpowiedz
Podczas gdy metoda sama w sobie może być bezpieczna dla wątków, przygotowane instrukcje nie są przeznaczone do jednoczesnego użycia. Dzieje się tak, ponieważ każda instancja przechowuje twoje parametry do momentu, gdy executeUpdate
nakazuje wysłać parametry do MySQL. Co więcej, ponieważ transakcje są zarządzane za pomocą obiektów o numerach Connection
, współdzielenie połączeń jednocześnie bez synchronizacji może spowodować niepożądane zachowanie podczas zatwierdzania/wycofywania zmian.
Aby wstawki z wielu wątków działały równolegle, każdy wątek musi używać własnego Connection
i utworzyć własny PreparedStatement
. Używanie wielu przygotowanych instrukcji jednocześnie w tej samej bazie danych jest bezpieczne dla wątków, ponieważ współbieżność jest zarządzana po stronie RDBMS.
Nie ma nic w Javadoc, który mówi albo Connection,
PreparedStatement,
lub ResultSet
jest threadsafe i dlatego żaden z ich metody są albo.
executeUpdate()
nie jest bezpieczny w użyciu dla wielu wątków.
można utworzyć wiele połączeń, aby każdy wątek korzystał z własnego połączenia JDBC z bazą danych.
- 1. Czy metoda rozszerzenia jest bezpieczna?
- 2. Czy usługa Azure CloudTable jest bezpieczna dla wątków?
- 3. Czy budowa obiektu funkcji statycznej zakresu jest bezpieczna dla wątków?
- 4. Bezpieczna dla wątków implementacja GetTickCount64 dla systemu Windows XP
- 5. Czy java jest bezpieczna?
- 6. Bezpieczna metoda aktualizacji pakietów R - czy możliwe jest "hot-swap"?
- 7. C# DateTime, czy ta metoda ustawienia regionalnego jest bezpieczna?
- 8. Czy istnieje atrybut do oznaczania klasy lub metody, która ma być bezpieczna dla wątków w .NET?
- 9. Null-bezpieczna metoda inwokacja Java7
- 10. Pula wątków w Javie
- 11. Długi nil bezpieczna metoda łańcuchy
- 12. Czy putStrLn jest bezpieczny dla wątków?
- 13. Czy wątek jest bezpieczny dla wątków SLF4J?
- 14. Czy loop.run_in_executor asyncio jest bezpieczny dla wątków?
- 15. Pobieranie wątków (metoda dostępu)
- 16. Powody, dla których Hibernate's sessionFactory jest bezpieczny dla wątków
- 17. repaint() Metoda w Javie
- 18. Czy istnieje bezpieczna alternatywa dla std :: equal?
- 19. Co to jest metoda wygodna w Javie?
- 20. Czy ta sesja logowania jest bezpieczna?
- 21. PHP - Czy funkcja "include" jest bezpieczna?
- 22. Jak udowodnić, że lista kontrolna nie jest bezpieczna dla wątków za pomocą testu?
- 23. Metoda łączenia/zakotwiczenia w Javie
- 24. Czy ten kod jest bezpieczny dla wątków? Jak mogę sprawić, by był bezpieczny dla wątków?
- 25. Jaki jest pożytek z puli wątków w Javie?
- 26. Narzędzie analizy zrzutu wątków/metoda
- 27. Bezpieczna dla wątków globalna struktura sqlca dla dostępu do bazy danych Oracle
- 28. Bezpieczna pamięć dla obiektów Swift
- 29. Czy metody SmtpClient.SendMailAsync są bezpieczne dla wątków?
- 30. Jak sprawdzić, czy metoda istnieje w środowisku wykonawczym w Javie?
Zobacz to .. http://stackoverflow.com/questions/8828202/is-executeupdate-method-in-java-thread-safe – Varun