多线程下,两个线程交替打印0 -100,使用wait()和notify() public class ThreadTest{ private static final Object lock = new Object(); static class ThreadA extends Thread{ @Override public void run() { for (int i = 0; i < 100; i = i+2) { synchronized (lock){ lock.notify();
方案一:import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock; /** * created by cjy * desc: lock and condition */public class Test100_01 { private static Lock lock = new Reentra
1. 直接用CAS中的AtomicInteger package concurency.chapter13; import java.util.concurrent.atomic.AtomicInteger; /** * @auther draymonder */ public class PrintOddAndEven { public static volatile boolean flag = false; public static AtomicInteger num = new Ato
package com.demo.thread; public class PrintNumber { private static Object lock = new Object(); private static int i = 1; private static int wait = 1; private static final int TOTAL = 100; public static void main(String[] args) { Thread thread1 = new
今天看到一个题:两个线程交替打印奇数和偶数,即一个线程打印奇数,另一个打印偶数,交替打印从1到100.想了下有多重实现方法. wait和notify方法: public class OddEven { private static int i = 1; private static Object o = new Object(); private static class MyThread extends Thread { MyThread(String name) { super(name);
大多数初级程序员或学生都认为在C#控制台或应用程序中只能有一个Main()方法.但是事实上是可以有多个Main()方法的. 在C#控制台或应用程序中,在多个类中,且每个类里最多只能存在一个Main()方法的情况是允许存在的. using System; namespace ConsoleTest { class Demo { public static void Main() { Console.WriteLine("我是Demo类的Main方法!"); } } class DemoC
大多数初级程序员或学生都认为在C#控制台或应用程序中只能有一个Main()方法.但是事实上是可以有多个Main()方法的. 在C#控制台或应用程序中,在多个类中,且每个类里最多只能存在一个Main()方法的情况是允许存在的. using System; namespace ConsoleTest { class Demo { public static void Main() { Console.WriteLine("我是Demo类的Main方法!"); } } class DemoC