手机
当前位置:查字典教程网 >编程开发 >Java >Java线程重复执行以及操作共享变量的代码示例
Java线程重复执行以及操作共享变量的代码示例
摘要:1.题目:主线程执行10次,子线程执行10次,此过程重复50次代码:packagecom.Thread.test;/**function:主...

1.题目:主线程执行10次,子线程执行10次,此过程重复50次

代码:

package com.Thread.test; /* * function:主线程执行10次,子线程执行10次, * 此过程重复50次 */ public class ThreadProblem { public ThreadProblem() { final Business bus = new Business(); new Thread(new Runnable() { public void run() { for(int j=0;j<50;j++) { bus.sub(j); } } }).start(); for(int j=0;j<50;j++) { bus.main(j); } } class Business { private boolean tag=true; public synchronized void sub(int num) { if(!tag) { try { this.wait(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } for(int i=0;i<10;i++) { System.out.println("sub thread "+i+",loop "+num+"."); } tag=false; notify(); } public synchronized void main(int num) { if(tag) { try { this.wait(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } for(int i=0;i<10;i++) { System.out.println("main thread "+i+",loop "+num+"."); } tag=true; notify(); } } public static void main(String[] args) { ThreadProblem problem = new ThreadProblem(); } }

2.四个线程,共享一个变量j,其中两个线程对j加1,两个线程对j减1。

代码如下:

package com.Thread.test; //实现4个线程,两个线程加1,两个线程减1 public class Demo1 { private static int j=0; private A a = new A(); //构造函数 public Demo1() { System.out.println("j的初始值为:"+j); for(int i=0;i<2;i++) { new Thread(new Runnable(){ public void run() { for(int k=0;k<5;k++){ a.add1(); } } }).start(); new Thread(new Runnable(){ public void run() { for(int k=0;k<5;k++) { a.delete1(); } } }).start(); } } class A { public synchronized void add1() { j++; System.out.println(Thread.currentThread().getName()+"对j加1,目前j="+Demo1.j); } public synchronized void delete1() { j--; System.out.println(Thread.currentThread().getName()+"对j减1,目前j="+Demo1.j); } } //用于测试的主函数 public static void main(String[] args) { Demo1 demo = new Demo1(); } }

【Java线程重复执行以及操作共享变量的代码示例】相关文章:

java网络编程学习java聊天程序代码分享

查看Java所支持的语言及相应的版本信息

Java创建文件夹及文件实例代码

java 删除数组元素与删除重复数组元素的代码

java枚举的使用示例

Java生成PDF文件的实例代码

Java通过接口实现匿名类的实例代码

java多线程编程之join方法的使用示例

java线程并发cyclicbarrier类使用示例

Java获取网络文件并插入数据库的代码

精品推荐
分类导航