Este artigo compartilha com você os métodos específicos de implementação do método executável de Java Multi-Threading para sua referência. O conteúdo específico é o seguinte
(I) Etapas
1. Defina e implemente a interface executável
2. Substituir o método Run na interface executável e armazenar o código que o thread deseja executar no método de execução.
3. Crie objetos de encadeamento através da classe Thread.
4. Passe o objeto subclasse da interface executável como parâmetros reais para o construtor da classe Thread.
Por que falamos sobre o construtor do objeto de subclasse de interface executável passada para o thread? Porque o objeto ao qual o método personalizado pertence é um objeto de subclasse da interface executável.
5. Ligue para o método de início da classe Thread para iniciar o thread e chamar o método Runnable Interface Subclass Run.
(Ii) Problema de bloco de código compartilhado seguro para roscas
Objetivo: Existe algum problema de segurança com o programa? Se sim, como resolvê -lo?
Como encontrar a pergunta:
1. Identifique quais códigos são um código de execução com vários threads.
2. Compartilhe claramente dados
3. Esclareça quais instruções no código multithread operam para compartilhar dados.
Classe Bank {private Int Sum; public void add (int n) {sum+= n; System.out.println ("sum ="+soma); }} classe CUS implementa Runnable {Private Bank B = new Bank (); public void run () {sincronizado (b) {for (int x = 0; x <3; x ++) {b.add (100); }}}} public class BankDemo {public static void main (string [] args) {cus c = new cus (); Thread t1 = novo thread (c); Tópico T2 = novo thread (c); t1.start (); t2.start (); }} Ou da segunda maneira, coloque o código de sincronização sincronizado no método de modificação.
Classe Bank {private Int Sum; public sincronizado void add (int n) {object obj = new Object (); soma+= n; tente {thread.sleep (10); } catch (Exceção e) {e.printStackTrace (); } System.out.println ("sum ="+soma); }} classe CUS implementa Runnable {Private Bank B = new Bank (); public void run () {for (int x = 0; x <3; x ++) {b.add (100); }}} classe pública BankDemo {public static void main (string [] args) {cus c = new cus (); Thread t1 = novo thread (c); Tópico T2 = novo thread (c); t1.start (); t2.start (); }} Resumir:
1. Defina o problema e o método para lidar em uma classe.
2. Reescreva o método de execução na classe que implementa o Runnable para chamar o método para lidar com o problema na classe já definida.
Aceite o objeto da classe para lidar com o problema no bloco sincronizado.
3. Defina vários threads para executar no método principal.
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.