La vue d'ensemble de la sécurité des threads signifie que lorsque plusieurs threads accèdent au même objet, s'il n'est pas nécessaire de prendre en compte la planification et l'exécution alternative de ces threads dans l'environnement d'exécution, il n'est pas nécessaire d'effectuer une synchronisation supplémentaire ou de faire quoi que ce soit. sinon sur l'appelant Opérations de coordination, l'appel du comportement de cet objet peut obtenir les résultats corrects. Juger de la sécurité du multi-threading peut être analysé à partir des trois points suivants :
Votre compréhension est correcte, new MyThread().start() Chaque fois qu'un nouvel objet Thread est utilisé pour démarrer le fil, il n'y a pas de comportement de partage, il est donc thread-safe, la réponse la plus votée
MyThread mt = new MyThread(); // 这里只 new 了一个对象,然后多线程操作,会存在线程安全问题
new Thread(mt).start();
new Thread(mt).start();
new Thread(mt).start();
// MyRunable mr = new MyRunable();
// new Thread(mr).start();
// new Thread(mr).start();
// new Thread(mr).start();
Un exemple simple Si vous avez un bonbon et que d'autres veulent le manger, alors il n'est pas sûr, vous constatez donc que vous avez besoin d'une boîte et d'un cadenas pour le verrouiller
La vue d'ensemble de la sécurité des threads signifie que lorsque plusieurs threads accèdent au même objet, s'il n'est pas nécessaire de prendre en compte la planification et l'exécution alternative de ces threads dans l'environnement d'exécution, il n'est pas nécessaire d'effectuer une synchronisation supplémentaire ou de faire quoi que ce soit. sinon sur l'appelant Opérations de coordination, l'appel du comportement de cet objet peut obtenir les résultats corrects.
Juger de la sécurité du multi-threading peut être analysé à partir des trois points suivants :
Si plusieurs threads fonctionnent sur des données partagées, les problèmes de sécurité des threads doivent être pris en compte.
La situation que vous avez mentionnée est définitivement thread-safe, car elle n'est utilisée que par votre propre thread.
Votre compréhension est correcte,
new MyThread().start()
Chaque fois qu'un nouvel objet Thread est utilisé pour démarrer le fil, il n'y a pas de comportement de partage, il est donc thread-safe, la réponse la plus votéeUn exemple simple
Si vous avez un bonbon et que d'autres veulent le manger, alors il n'est pas sûr, vous constatez donc que vous avez besoin d'une boîte et d'un cadenas pour le verrouiller