Java多線程求和詳細(xì)學(xué)習(xí)筆記
Java多線程求和有些時(shí)候在使用的時(shí)候需要我們特別注意,下面我們就來(lái)詳細(xì)的看看如何才能更好的進(jìn)行Java多線程求和相關(guān)的編寫(xiě)。看完下面的文章希望大家有所收獲。
編寫(xiě)一個(gè)啟動(dòng)100個(gè)線程的程序,每個(gè)線程給一個(gè)初值為0的變量sum加1,需要通過(guò)引用每一個(gè)線程來(lái)傳遞sum,為了通過(guò)飲用傳遞,定義一個(gè)Integer包裝對(duì)象以容納sum,分別設(shè)計(jì)同步和不同步方式的方法設(shè)計(jì)程序并查看結(jié)果。
- public class Test implements Runnable {
- public static void main(String[] args) {
- for (int i = 0; i < 100; i++) { // 創(chuàng)建100個(gè)線程
- Test line = new Test();
- Thread t = new Thread(line, i + "");
- t.start();
- }
- }
- public void run() { // 線程
- for (int i = 0; i < 10; i++) { //每條線程輸出的次數(shù) 如果你是10次 100個(gè)線程,如果同步,sum 應(yīng)該是1000
- try {
- sum.list();
- Thread.sleep(100);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- }
- }
- class sum {
- static Integer sum = 0;
- public synchronized static void list() { //synchronized 代表線程同步, 如果去掉.就會(huì)不同步
- sum++;
- System.out.println("我是線程" + Thread.currentThread().getName()
- + " sum--------->" + sum);
- }
- }
以上就是對(duì)Java多線程求和相關(guān)代碼的介紹。
【編輯推薦】