Java?????????
????????μ??? ???????[ 2017/2/27 10:15:53 ] ??????????????????? Java
	???????????
	???????????????У???????ú?????????????????????????????????????????????
	??????1?????????
	
	????????????????????????????÷??????A?????a()??????B?????b()???????b()???????????a()?????????????????????÷???????????b()??????????????????b()?????????????????????????????a()????????????????????????????????????????????????????
	??????2????????
	
	???????????????????????????????????????????????????????????????÷??????A?????????a()????????????????????B?????b()??????????????????У????????????b()????????????????????????a()????С????????????????????a()?????????b()??????????????a()???????b()??н????????£????????????????Щ????????????????????????????????????????????????????????????????b()????н?????м???????Java?У????????Future+Callable?????????????????????????μ???????????Java?????21?????????????????CyclicBarrier??Callable??Future??FutureTask??
	??????3?????
	
	???????????????????????
	??????A??a()??????????B??b()????
	??????B??b()????????????????????A??callback()????
	?????????????÷????????????????????????÷????
	???????????
	??????????????????????????????????????????????????????????????????????????????
	???????????????????????????????tellAnswer(int answer)???????????????????????
	1 /**
	2  * ?????????????http://www.cnblogs.com/xrq730/p/6424471.html
	3  */
	4 public interface Callback {
	5
	6     public void tellAnswer(int answer);
	7
	8 }
	?????????????????????Callback????
	1 /**
	2  * ?????????????http://www.cnblogs.com/xrq730/p/6424471.html
	3  */
	4 public class Teacher implements Callback {
	5
	6     private Student student;
	7
	8     public Teacher(Student student) {
	9         this.student = student;
	10     }
	11
	12     public void askQuestion() {
	13         student.resolveQuestion(this);
	14     }
	15
	16     @Override
	17     public void tellAnswer(int answer) {
	18         System.out.println("????????????" + answer);
	19     }
	20
	21 }
	?????????????????public??????
	??????1????????tellAnswer(int answer)????????????????????????????????
	??????2??????????askQuestion()???????????????
	?????????????????????????????????????????????Callback????????????????????????????????棺
	1 /**
	2  * ?????????????http://www.cnblogs.com/xrq730/p/6424471.html
	3  */
	4 public interface Student {
	5
	6     public void resolveQuestion(Callback callback);
	7
	8 }
	?????????????????????Ricky??
	1 /**
	2  * ???????Ricky?????????????????????????http://www.cnblogs.com/xrq730/p/6424471.html
	3  */
	4 public class Ricky implements Student {
	5
	6     @Override
	7     public void resolveQuestion(Callback callback) {
	8         // ?????????
	9         try {
	10             Thread.sleep(3000);
	11         } catch (InterruptedException e) {
	12
	13         }
	14
	15         // ???????????????д????
	16         callback.tellAnswer(3);
	17     }
	18
	19 }
	????????????????????16??????????????
	????д???????????????
	1 /**
	2  * ??????????????http://www.cnblogs.com/xrq730/p/6424471.html
	3  */
	4 public class CallbackTest {
	5
	6     @Test
	7     public void testCallback() {
	8         Student student = new Ricky();
	9         Teacher teacher = new Teacher(student);
	10
	11         teacher.askQuestion();
	12
	13     }
	14
	15 }
	???????????н????У?
	????????????????3
	??????????????????????????
	??????1???????????????????resolveQuestion???????????
	??????2????????????????????????????????tellAnswer
	????????????????????????????????????
	???????????
	?????????????????????????????????????????????
	??????1??????????г???
	????????????г??????????????????????????????????λ????????????????????????????ó???????????????????????????????????????????磬??????????????????κ?????
	??????2??????????г???
	????????????г???????????????????????????????δ??????????????????????????Ricky??Jack??Lucy????????????????????????????????Student???List<Student>???????????????????Student?б??????????????????????????
	?????????????????????????????????????????????????????????Щ????????????????????????????????????????????????????????????
	??????????????????????????????????this????????÷??????????÷??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
	?????????????????
	?????????????????????????????????????
	????????????????????????????????????????????????????????????????????????????????????
	???????????????????κ????????????????????????????
	???????????????????????????????????????????????????????????????·???????????????????????????????????????????????????·???????Щ???????????????????????????????????????????????·??????????????????????????????
	??????1??????????????????????????????????????????????????????????????????????????????????н??д??????????Щ????????????????????????????????????????????????????????
	??????2??????????????????????????????????·??????????????????
	?????????????????????????????б???????????????????????????????????ж??????????????????????????????????????????????????????????????????????????????????
	???????????????????????????????????????????????????????????????????????????????????Ricky??????Ricky???????????????????????????????????????????????????????????????????????????????£?
	?????????????One-By-One?????????????????Ricky??Mike??Lucy??Bruce??Kate??λ???????????????????????λ???????????????????????ɡ?
	???????????????????????????????????????????????????????????????????
	??????1?????Future+Callable????????????????н?????????????????????????????????????????????????????????????
	??????2????????????????????????????????????????????????ɡ???????????????????Callback???????????????????????????????????????????????????????磬??????????????????????Callback?????????????????
??????
					
					???·???
App??С????H5?????????????????Щ??
2024/9/11 15:34:34?????????????????????????
2024/9/10 11:13:49P-One ???????????????????????????????????????
2024/9/10 10:14:12???????????????????????????
2024/9/9 18:04:26??????????????????
2023/3/23 14:23:39???д?ò??????????
2023/3/22 16:17:39????????????????????Щ??
2022/6/14 16:14:27??????????????????????????
2021/10/18 15:37:44
					
			
								
								
								
								
								
								
								
								
								
								
				
sales@spasvo.com