Java線程同步如何在不同線程中調(diào)用
作者:佚名
Java線程同步如何才能更好的學(xué)習(xí)呢?其實(shí)在不斷的進(jìn)行學(xué)習(xí)中我們還是需要注意源代碼的重要性。希望大家有所幫助。
Java線程同步需要我們大家不斷的學(xué)習(xí),但是在學(xué)習(xí)的時候有些重要的代碼還是需要注意,下面我們就來詳細(xì)的看看Synchronized,顧名思義,代表Java線程同步。那么,在java編程中如何使用它呢?
我們首先來看這樣一個情況:對于同一個變量synDemo,我們分別在2個不同的線程中調(diào)用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線程同步的詳細(xì)介紹,希望大家有所幫助。
【編輯推薦】
責(zé)任編輯:張浩
來源:
驅(qū)動之家