Java線程同步如何在不同線程中調用
作者:佚名
Java線程同步如何才能更好的學習呢?其實在不斷的進行學習中我們還是需要注意源代碼的重要性。希望大家有所幫助。
Java線程同步需要我們大家不斷的學習,但是在學習的時候有些重要的代碼還是需要注意,下面我們就來詳細的看看Synchronized,顧名思義,代表Java線程同步。那么,在java編程中如何使用它呢?
我們首先來看這樣一個情況:對于同一個變量synDemo,我們分別在2個不同的線程中調用synDemo.synMethord1()與synDemo.synMethord2()。
- package com.cnblogs.gpcuster;/** * * @author Aaron.
Guo * */- public class Tester { public static void main(String[]
args) { final SynDemo synDemo = new SynDemo(); Thread
thread1 = new Thread() { @Override public void run() {
// TODO Auto-generated method stub- super.run(); synDemo.synMethord1(); } }; Thread thread2
= new Thread() { @Override public void run() { // TODO
Auto-generated method stub- super.run(); synDemo.synMethord2(); } }; thread1.start();
thread2.start(); while (true) { try { Thread.sleep(1000);
System.out.println("main"); } catch (InterruptedException e)
{ // TODO Auto-generated catch block- e.printStackTrace();
- }
- }
- }
- }
我們的SynDemo是這樣定義的:
- package com.cnblogs.gpcuster;/** * * @author
Aaron.Guo * */- public class SynDemo{ public void synMethord1() {
while(true) { try { Thread.sleep(1000); System.out.
println("synMethord1"); } catch (InterruptedException e)
{ // TODO Auto-generated catch block- e.printStackTrace();
- }
- }
- }
- public void synMethord2() { while(true) { try { Thread.
sleep(1000); System.out.println("synMethord2"); } catch
(InterruptedException e) { // TODO Auto-generated catch block- e.printStackTrace();
- }
- }
- }
- }
以上就是對Java線程同步的詳細介紹,希望大家有所幫助。
【編輯推薦】
責任編輯:張浩
來源:
驅動之家