Java多线程求和详细学习笔记

Java多线程求和有些时候在使用的时候需要我们特别注意,下面我们就来详细的看看如何才能更好的进行Java多线程求和相关的编写。看完下面的文章希望大家有所收获。

编写一个启动100个线程的程序,每个线程给一个初值为0的变量sum加1,需要通过引用每一个线程来传递sum,为了通过饮用传递,定义一个Integer包装对象以容纳sum,分别设计同步和不同步方式的方法设计程序并查看结果。

 

 
 
 
  1. public class Test implements Runnable {  
  2. public static void main(String[] args) {  
  3. for (int i = 0; i < 100; i++) { // 创建100个线程  
  4. Test line = new Test();  
  5. Thread t = new Thread(line, i + "");  
  6. t.start();  
  7. }  
  8. }  
  9. public void run() { // 线程  
  10. for (int i = 0; i < 10; i++) { //每条线程输出的次数 如果你是10次 100个线程,如果同步,sum 应该是1000   
  11. try {  
  12. sum.list();  
  13. Thread.sleep(100);  
  14. } catch (InterruptedException e) {  
  15. e.printStackTrace();  
  16. }  
  17. }  
  18. }  
  19. }  
  20. class sum {  
  21. static Integer sum = 0;  
  22. public synchronized static void list() { //synchronized 代表线程同步, 如果去掉.就会不同步  
  23. sum++;  
  24. System.out.println("我是线程" + Thread.currentThread().getName()  
  25. + " sum--------->" + sum);  
  26. }  

以上就是对Java多线程求和相关代码的介绍。

【编辑推荐】

  1. Java多线程如何防止主线的阻塞
  2. Java多线程语句具体分类的详细介绍
  3. Java多线程优化之偏向锁原理分析
  4. Java多线程初学者指南系列教程
  5. 使用Java多线程实现任务分发
THE END