2. 在宠物小精灵中心的决斗(小霞加入)
3. 终于捉到宠物小精灵了(收服绿毛虫→铁甲蛹, 收服比比鸟)
4. 少年武士的挑战(铁甲蛹→巴大蝴)
5. 皮卡丘要进行特训(小刚加入)
6. 很多皮皮在这里
7. 美女四人组
8. 百战百胜的小明
9. 深山里的贵族学校
10. 猜不到有意外收获(收服妙蛙种子)
11. 失去主人的小火龙(收服小火龙)
12. 杰尼龟军团登场(收服杰尼龟)
13. 正辉的灯塔 (收服大钳蟹)
14. 电击大对决
15. 超级油轮的战斗
16. 海上漂流记
17. 荒岛历险记
18. 清保高”的假期
19. 巨大精灵都市大袭击(小霞得到墨海马)
20. 在夏天出现的鬼精灵
21. 巴大蝴再见(巴大蝴离队)
22. 凯西,超能力大决斗
24. 鬼斯通对抗超能力(鬼斯通离队)
25. 火爆猴,别生气哦!(收服火暴猴)
26. 艾莉嘉和臭臭花
27. 索利柏与神奇宝贝催眠
28. 美容街,饲育家大决斗(小刚得六尾)
29. 格斗神奇宝贝大决斗(火暴猴离队)
30. 小磁怪的电气老鼠之梦(收服臭臭泥)
31. 好多地鼠
32. 浅红道馆的忍者决斗
33. 火焰的神奇宝贝大赛跑
34. 袋龙的摇篮曲
35. 迷你龙的传说(收服肯泰罗)
36. 暴风雨的单车路
37. 百变怪跟模仿少女
38. 皮卡丘的森林
39. 伊布四兄弟
40. 醒来吧!卡比兽!
41. 神奇宝贝道馆的决斗
42. 椰蛋树军团大前进(小火龙→火恐龙)
43. 派拉斯跟派拉斯特
44. 胖丁唱歌吧
45. 复活?化石神奇宝贝(火恐龙→喷火龙)
46. 吉利蛋的病历簿
47. 卡蒂狗跟小次郎
48. 大葱鸭的鸭
49. 波克比是谁的呢(小霞得到波克比)
50. 妙蛙种子的不思议花园
51. 激斗,神奇宝贝娃娃节(小霞得到可达鸭)
52. 儿童节全员大集合
53. 警犭卡蒂狗
54. 按快门的机会是比卡丘
55. 神奇宝贝鉴定考
56. 抚养家的秘密
57. 燃烧吧!红莲道馆
58. 决战红莲道馆
59. 克美波美岛
60. 华蓝道馆,水中战斗
61. 皮皮对抗胖丁
62. 常盘道馆?最后的徽章
63. 神奇宝贝马戏团的吸盘魔偶
64. 迷唇姐的圣诞节
65. 用大岩蛇露营
66. 宿敌大决斗?大木研究所
67. 当呆呆兽变成呆河马的时候
68. 踏浪皮卡丘的传说
69. 植物园的臭臭花
70. 神奇宝贝电影
71. 喵喵之歌
72. 四天王希巴登场
73. 激烈冲突超古代神奇宝贝
74. 嘎啦嘎啦的骨头棒
75. 开火?神奇宝贝联盟开会式
76. 神奇宝贝联盟开幕?水之场地(大钳蟹→巨钳蟹)
77. 冰之场地?火炎之战
78. 草之场地?意外的强敌
79. 劲敌登场
80. 石英运动场VS阿弘
81. 神奇宝贝联盟?最后的战斗
【橘子联盟目录】
82. 真新镇,新的出发(比比鸟→比雕,比雕离队)
83. 飞行船是不幸船
84. 南国神奇宝贝与GS球(小刚离队)
85. 拯救乘龙(收服乘龙,小建加入)
86. 橘子联盟?夏干道馆
87. 消失的神奇宝贝之谜
88. 水晶大岩蛇
89. 粉红神奇宝贝之岛
90. 化石盔化石的秘密
91. 跳吧!神奇宝贝豪华油轮
92. 再见可达鸭,又来哥达鸭
93. 航海的乔伊,破浪前进吧
94. 奈普鲁道馆,雪山之战
95. 大胃王卡比兽,大恐慌(收服卡比兽)
96. 幽灵船跟幽灵神奇宝贝
97. 喵喵之岛
98. 飞天螳螂,战士的尊严
99. 南方之岛,全员大集合
100. 四天王科拿,冰之战斗
101. 尼多朗的恋爱故事
102. 大平原的小磁怪
103. 地下道的怪物
104. 柚子道馆类型格凌斗三比三
105. 皮卡丘对抗喵喵
106. 喷火龙,就决定是你了!
107. 灭火大战 杰尼龟对抗卡咪龟
108. 燃烧吧!卡比兽!
109. 接棒决斗! 最后的道场!
110. 鲤鱼王进化的秘密
111. 蚊香蝌蚪和小霞 (小霞得到蚊香蝌蚪)
112. 胜利者杯,全员大对决
113. 最后战斗 快龙登场
114. 再见了 乘龙 (乘龙离队)
115. 顽皮蛋大爆炸
116. 真新镇,我回来了 (小刚加入,小建离队)
【城都联盟目录】
117. 宿敌对决,小智对抗小茂
118. 若叶镇!! 吹起开始之风的城镇!
119. 投手的菊草叶
120. 赫拉克罗斯对抗大甲(收服赫拉克罗斯)
121. 顿甲之谷
122. 咕咕跟迷惑森林
123. 美丽花的战斗之舞
124. 线球大搜索线
125. 布卢的华丽生活
126. 惊角鹿,幻影森林
127. 好胜的菊草叶 (收服菊草叶)
128. 沼王和gs球
129. 芭瓢虫之笛
130. 幸福蛋的快乐护士
131. 喇叭芽之塔大危机
132. 桔梗道馆,空中大战
133. 爱哭鬼玛力露
134. 暴走,尾立和波克比
135. 喷火龙山谷(喷火龙离队)
136. 向日花怪会场大恐慌
137. 菊草叶不高兴了
138. 毛建子草飞跑了!大草原之战!
139. 神秘超级英雄,天蝎人登场
140. 咩利羊和牧场的少女
141. 巨钳螳螂对抗赫拉克罗斯
142. 收服火球鼠(收服火球鼠)
143. 桧皮镇的呆呆兽之井
144. 榛果球与圆柑果实后山之战. (小刚得到榛果球)
145. 桧皮道馆,森林的战斗场地.
146. 桐森林,寻找大葱鸭.
147. 果然翁与神奇宝贝交换会.
148. 杰尼龟队燃烧斗志!像火一样. (杰尼龟离队)
149. 好多乌波.
150. 胖丁对抗布庐.
151. 黑暗神奇宝贝.
152. 小锯鳄是谁的?小智对抗小霞. (收服小锯鳄,小霞的蚊香进化成蚊香蛙)
153. 盔甲鸟对抗火球鼠,钢铁之翼
154. 小锯鳄跳现代的舞步.
155. 抓到漂亮的猫头夜鹰(收服猫头夜鹰)
156. 圈圈熊吓死人
157. 麒麟奇,超能力神奇宝贝之村
158. 神奇宝贝占卜大混战
159. 满金市的满金道馆
160. 大奶罐,复仇之战
161. 收讯塔的战斗,超越时空
162. 捕虫大会 在自然公园收服他!(收服大针蜂,大针蜂送奈奈)
163. 胡说树在哪里?
164. 古代神奇宝贝公园,阿露福遗迹
165. 波波屋的传信波波
166. 超音蝠之馆,危险的迷宫(小刚的超音蝠进化大嘴蝠)
167. 柯波朗对抗妙蛙种子,格斗大对决
168. 丛林的三只 温泉战斗
169. 金鱼王,钓鱼战斗
170. 再见了六尾,神奇宝贝选美比赛(小刚的六尾离队)
171. 壶壶对抗喇叭芽
172. 月精灵,黑夜的战斗
173. 安飘虫,超越风之谷
174. 果然翁之村
175. 百变怪大师,与伊美蒂重逢
176. 苗苗跟布鲁跟布卢皇
177. 阿利多斯,忍术战斗
178. 展翅吧,阳阳玛,飞向明天的天空
179. 皮卡丘与皮丘
180. 毛毽子花,草神奇宝贝战斗
181. 黑鲁加跟波克比
182. 烧焦塔,小松登场
183. 圆朱道馆,鬼斯战斗
184. 伊布五姐妹,茶会大战斗
185. 黑暗鸦,被夺走的徽章
186. 铁炮鱼的天空
187. 熊宝宝的秘密
188. 积冰的向日种子之密
189. 挖这里,小山猪,寻找温泉
190. 急冻鸟VS胖丁,暴风雪之中
191. 风速狗与火炎之石
192. 土龙弟弟全都没了
193. 果然翁遇难了
194. 小刚病倒了危险的露营
195. 大力鳄抵抗水箭龟相扑大战斗
196. 与神奇宝贝讲话神奇宝贝的语言神奇宝贝的心情
197. 大嘴蝠对假面女王五藏遗迹之战(小刚的大嘴蝠进化成叉字蝠)
198. 图图犬的遗迹旭日中的光辉
199. 尼多力诺和尼多娜,小刚的玫瑰生活
200. 再见了菊草叶,电气的迷宫(菊草叶→月桂叶)
201. 月桂叶到哪里去了在药草园抓住它
202. 天然雀的占卜预测未来的神秘
203. 神奇宝贝气球大赛越过暴风雨
204. 迷唇娃迷死人超级巨星喜欢神奇宝贝
205. 踏浪追踪铁甲暴龙!湖之战!
206. 变隐龙在哪里?看不见的神奇宝贝,大混乱
207. 讨厌水系神奇宝贝的乔伊小姐,小霞的愤怒
208. 圣母大奶罐,沙漠的秘密
209. 光辉灯塔!浅葱市的战斗
210. 湛蓝道馆,正面决斗,格斗大对决
211. 漩涡列岛,新的挑战!
212. 波波与大波波,飞向未曾见过的天空!
213. 向大海出发吧,灯笼鱼大游行
214. 太阳珊瑚好朋友!黄岩岛的对决(小霞得到太阳珊瑚)
215. 巨翅飞鱼跟沉船,神秘神奇宝贝的秘密
216. 章鱼桶跟铁炮鱼!漩涡列岛大赛预赛!!
217. 涡列岛大赛,在水的运动场大战斗!
218. 小智对抗小霞,漩涡列岛大赛最后的战斗!
219. 保护地鼠的村子,陷阱大作战
220. 银色之翼的传说,银岩岛的战斗!!
221. 神秘的神奇宝贝!X!
222. 被抓走的洛奇亚!
223. 与洛奇亚的约定
224. 飞吧咕咕号!以浅葱市为目标!
225. 浅葱市VS大钢蛇
226. 再见妙蛙种子!大木家后院大冒险! (妙蛙种子离队)
227. 太阳精灵与樱花!重新回到圆朱市!
228. 水君与米那基!凤王之传说!
229. 在神奇宝贝劲速赛中向前冲! (得到蛋)
230. 名侦探君莎,蛋不见了,大搜谜
231. 蛋要孵化了 (得到小小象)
232. 火箭队跟信使鸟
233. 雾中的九尾
234. 巴尔拉与空手道之王巴尔郎
235. 天然鸟之大预言
236. 阿渡与红色暴鲤龙
237. 红色暴鲤龙之愤怒
238. 长毛猪与使雪之YANAGI
239. CHYOOJI场馆,冰之对战
240. 美丽花VS霸王花!草原之平和
241. 熔岩蜗牛,用火热的心来收服!
242. 神奇宝贝魔法大变身
243. 闪电鸟跟水晶,湖的秘密
244. 双胞胎的宝宝丁对抗胖丁
245. 呆呆兽之悟,小智之悟
246. 假大木博士,神奇宝贝川柳对决!
247. 皮宝宝跟皮皮跟流星
248. 蚊香蛙的进化 (小霞的蚊香蛙进化成牛蛙君)
249. 竞技公园vs水箭龟、喷火龙、妙蛙花
250. 牛蛙君跟拉拉队
251. 冰之洞穴
252. 依吹与迷你龙
253. 烟墨道馆的龙之牙
254. 快龙!逆鳞激活
255. 烟墨道馆!最后的徽章
256. 果然宝宝!道馆徽章与果然翁
257. 龙宫道馆,水中之战
258. 乘龙之歌 (与乘龙重逢)
259. 保护神秘蛋,在暴风天中诞生新生命(收服由基拉)
260. 炎帝与在温泉的伙伴 (小刚的榛果球进化成佛烈托斯)
261. 胖墩国王,王者的证明!
262. 奈奈与电气小子
263. 加油吧!由基拉
264. 不可思议的安侬
265. 班吉拉与由基拉 (由基拉离队)
266. 狃拉与圣火
267. 白银山大会!与小茂再度重逢!!
268. 联盟预赛!火岩鼠火焰战斗!!
269. 大菊花vs. 妙蛙种子 草系神宝的尊严
270. 决胜淘汰赛!!全体战斗6VS6!!!
271. 劲敌对决!!水箭龟VS喷火龙!!
272. 遇上火鸡战士!!与羽月的对决!!
273. 全体战斗的成果!!分别的道路!!
274. 再见了,接下来的旅途 (小刚,小霞离队)
275. 和皮卡丘的别离 (第一部大结局)
【AG宝石联盟】
AG1.新的大地!新的冒险!! (小遥加入)
AG2.古代神奇宝贝与神秘军团!
AG3.橙华道馆对抗过动猿!
神奇宝贝周刊播放局:小刚!!!拯救尼比道馆!!!
神奇宝贝周刊播放局:华蓝道馆的复仇!!! (小霞得到暴鲤龙)
AG4.傲骨燕多多!危险多多!在橙华森林收服它! (收服傲骨燕,小刚归队)
神奇宝贝周刊播放集:加油!!!前进的火箭队??
AG5.蛇纹熊与短裤少年!小遥的第一场战斗!
神奇宝贝周刊播放局:圣诞节特别篇(预定)
AG6.火箭队!疯狂乱抓,再见了!
AG7.木守宫之森!保护巨大树! (收服木守宫)
神奇宝贝周刊播放集:大木博士家大作战
AG8.饭匙蛇对抗木守宫!必杀的拍击攻击!
AG9.怪奇!怪奇蘑蘑菇大宅之谜?
AG10.史上最强的大嘴鸥出现了!!
AG11.大狼犬与土狼犬,进化的神秘!!!
AG12.莲叶童子与花店三姊妹 (小刚获得莲叶童子)
AG13.神奇宝贝华丽比赛!!!狩猎凤蝶的华丽战斗!!
神奇宝贝播放局:制作小霞的徽章
AG14.双打比赛,捕捉刺尾虫 (小遥获得刺尾虫)
AG15.用功!!神奇宝贝训练家培育学园!!
AG16.卡那兹道馆!朝北鼻的秘密武器!
AG17.得文制造有限公司!!水箭队之影!!
AG18.哈奇老人与长翅鸥小皮!!
AG19.逃离巨牙鲨之岛!!
神奇宝贝播放局: 神奇宝贝搜查网!!寻找大木博士!!
AG20.武斗道馆!!冲浪道馆训练家藤树登场
AG21.刺尾虫对刺尾虫!!到底是哪一只? (小遥的刺尾虫进化成甲壳蛹)
AG22.大吾!可可多拉和波士可多拉
AG23.海边的捣蛋鬼--龙虾小兵登场!! (收服龙虾小兵)
AG24.奔跑吧!小智!越过利牙鱼之河!
AG25.秘密之池!好多水跃鱼 (小刚得到水跃鱼)
AG26.长鼻叶族的袭击
AG27.火岩队对抗水舰队,秘密基地的战斗!
AG28.狩猎凤蝶与毒粉蝶!进化之后! (小遥的甲壳蛹进化成狩猎凤蝶)
AG29.勾魂眼的惊奇
AG30.格斗少女与玛沙那!暴风雨之中!!
AG31.武斗道馆再战!乘浪的战斗场地!
AG32.弃船!悄悄靠近的影子
AG33.小遥的劲敌!特训!神奇宝贝华丽大赛!
AG34.最初拿到的神奇宝贝,大混乱
AG35.小遥!初次挑战神奇宝贝华丽大赛!
AG36.保护海之博物馆,火岩队的袭击!
AG37.美女与野兽?狡滑天狗和乔伊小姐
AG38.正电拍拍和负电拍拍!!山上的灯塔!!
AG39.唱歌吧!!机械屋!!
AG40.紫堇道馆!!铁仙的电击战斗!!
AG41.木守宫的新技能!西瓜园的保镳
AG42.电萤虫与甜甜萤!爱的舞蹈!
AG43.飞吧,宝贝龙!朝向明天!
AG44.小霞登场!波克比和虚幻的王国 (小霞归队)
AG45.海市蜃楼的那儿!波克比的乐园! (小霞的波克比进化成波克基古 小霞离队)
AG46.胜利家庭!4VS4!!
AG47.向尾猫和散播芳香 (小谣收服向尾猫)
AG48.猫鼬斩VS饭匙蛇! 劲敌对决
AG49.小胜VS小胜!守护溜溜糖球!
AG50.端付镇的神奇宝贝选美大赛
AG51.VS恰雷姆 ,选美大赛战斗
AG52.正电拍拍和负电拍拍,加油之路
AG53.向尾猫和"有样学样" 呆火驼牧场
AG54.火岩队VS水箭队,再次遇见!烟筒山作战!!
AG55.新人训练家--明日菜 ,全是洞的战斗场地
AG56.热血徽章!!用燃烧的战斗得到它!!
AG57.好多晃晃斑!!找寻山另外一边的幸福
AG58.闯越钢之谷!煤炭龟VS大钢蛇 (收服煤炭龟)
AG59.紫堇道馆再度 VS 雷电兽!
AG60.可爱猫与优雅猫!传说的协调家登场!!
AG61.蒙面的出场者?魅影登场!
AG62.(シダケ)市!神奇宝贝 华丽比赛!!
AG63.太阳岩和连帽小童!神圣森林的传说!!
AG64.青绵鸟的天空!小遥的心!
AG65.溶食兽击退大作战!
AG66.一触即发!爆音怪VS森林蜥蜴 (木守宫→森林蜥蜴)
AG67.跳舞的战斗!乐天河童!!
神奇宝贝周刊播放集:神奇宝贝研究者小茂和复活的化石翼龙
AG68.爸爸是偶像!?假冒的道馆馆主!!
AG69.橙华道馆的危机!家庭的危机!!
AG70.橙华道馆战!第五枚徽章!
AG71.大木博士和小田卷博士!秘密基地之战!
AG72.接棒战斗!小智 VS 小遥!?
AG73.禁断的森林王者!妙蛙花!! (小遥得到妙蛙种子)
AG74.妙蛙种子和妙蛙种子!夺回宝贝球!!
AG75.对决!巨大鲶鱼王
AG76.天秤人偶和雾中的遗迹!
AG77.强敌!?妈妈桑协调家登场!
AG78.神奇宝贝华丽比赛!如波大会!!
AG79.跳跳猪在找的东西!?
AG80.首度挑战!空中竞技?神奇宝贝套环者!!(傲骨燕→大王燕)
AG81.怨影娃娃之公馆!
AG82.森林格斗王!?力壮鸡 VS 斗笠菇
AG83.天气研究所的漂浮泡泡!
AG84.ヒワマキ市的羽毛嘉年华!!
AG85.ヒワマキ道馆!天空之战!!
AG86.电影是骑在喷火鸵上!
AG87.神秘! 从宇宙来的神奇宝贝!?
AG88.香蕉懒人翁园的卡比兽!!
AG89.皮卡丘加入火箭队!?
AG90.抵达水静市!能量方块和燕返斩!
AG91.神奇宝贝竞赛!水静大会!!
AG92.那三只神奇宝贝登场,审判学校之岛!
AG93.珍珠贝和跳跳猪!寻找珍珠!
AG94.古空棘鱼与深海的秘宝!
AG95.猎斑鱼与樱花鱼!进化之谜!
AG96.肌肉对战!?双打比赛!!
AG97.固拉多VS盖欧卡!!
AG98.海与大地的死战!固拉多VS盖欧卡!!
AG99.小枫和小兰!宇宙中心之战!
AG100.绿岭道馆!太阳岩与月石!
AG101.海男!四大天王源次登场!!
AG102.诸星博士之岛!化石神奇宝贝出现!!
AG103.伊莎贝岛神奇宝贝华丽大赛!
AG104.封印巨大念力土偶吧!
AG105.大嘴娃恋爱了!乐天河童的花道!
AG106.大颚蚁和超音波幼虫!梦幻之湖!
AG107.阿勃梭鲁!悄悄靠近的灾祸之影!
AG108.收服雪童子吧! (收服雪童子)
AG109.拯救拉鲁多斯!小胜快点!
AG110.琉璃市!水之艺术师?阿当!(前篇)
AG111.琉璃市!水之艺术师?阿当!(后篇)
AG112.直冲熊!友情的形式!?
AG113.幻岛的小果然翁!
AG114.滚动吧!恋爱的顿甲
AG115.混战、混乱!神奇宝贝华丽大会- 伐木镇(前篇)
AG116.混战、混乱!神奇宝贝华丽大会- 伐木镇(后篇)
AG117.用小遥美食收服小卡比兽?! (小遥得到小卡比兽)
AG118.劲敌登场!政宗和铁哑铃
AG119.怪盗邦拿与缎带奖杯!!
AG120.开幕!豪华庆典(1)
AG121.开幕!豪华庆典(2)
AG122.开幕!豪华庆典(3)
AG123.虎口脱险! (雪童子→冰鬼户)
AG124.到达サイユウシティ,穿靴子的喵喵!
AG125.政宗登场!
AG126.开幕!方圆联盟联赛!(1)
AG127.开幕!方圆联盟联赛!(2)
AG128.开幕!方圆联盟联赛!(3)
AG129.劲敌对决,小智VS政宗
AG130.最后激战,通向冠军称号之路!
AG131.斯科特和战斗边疆
AG132.大木博士实验室.所有人员大集合!
【战斗领域 Battle Frontier 】
AG133.月见山,皮宝宝与皮皮与皮可西!
AG134.初次上阵!战斗工厂!(上集)
AG135.初次上阵!战斗工厂!(下集)
AG136.大岩蛇的王国!
AG137.胖丁的歌,爸爸的歌!
AG138.劲敌对决!收服风速狗!
AG139.忧郁的可达鸭!!
AG140.狃拉与吸盘魔偶!哪一个餐厅!?
AG141.进化的神秘与奇迹!!
AG142.神奇宝贝华丽大赛??山吹大会!(前篇)
AG143.神奇宝贝华丽大赛??山吹大会!(后篇)
AG144.格斗道场!小智VS小遥
AG145.超能力系VS幽灵系!深夜中的决斗!?
AG146.模仿魔偶登场!休息之大宅!
AG147.水跃鱼与绵绵!恋爱的特效药!?
AG148.战斗竞技场!格斗对决!!
AG149.培育屋老板与神奇宝贝的蛋!
AG150.上班族的劲敌?!
AG151.哈克龙之湖!
AG152.战斗巨蛋!火焰与水的融合
AG153.震撼!吃惊!电击怪
AG154.神奇宝贝森林守护者登场!救出雪拉比作战
AG155.胡说盆栽与忍者学校
AG156.超越时空的小遥
AG157.热烈的战斗通道VS通道女王??麻美
AG158.优胜在谁的手上?定向越野竞赛
AG159.小卡比兽的初次战!与汉妮一决胜负
AG160.森林蜥蜴VS热带龙!草原的决斗! (森林蜥蜴→蜥蜴王)
AG161.神奇宝贝华丽大赛!让叶大会!
AG162.蜥蜴王!复活的拂晓!!
AG163.激烈战斗!战斗皇宫的激烈战斗!!
AG164.胡说盆栽国王与模仿魔偶女王?!
AG165.摩天楼里的红色闪电
AG166.决定性的比赛,小遥VS小刚
AG167.迷唇娃与迷唇姐三姐妹
AG168.高塔大君,里拉登场
AG169.战斗之塔,心传心的战斗
AG170+AG171.神奇宝贝1小时特别版:神奇宝贝游侠,代欧奇西斯,危机
AG172.胡说树!黄金传说
AG173.哈利&火箭队!结成反派同盟
美国纪念口袋10周年一小时特别篇(讲述超梦的)
AG174.小遥VS武藏!最后的华丽大赛
AG175.解散火箭队?各自的道路
AG176.以商标战守护尼比道馆
AG177.对战金字塔!对抗雷吉洛克
AG178.惊异!巨大请假王之山
AG179.开幕!神奇宝贝华丽大赛大型庆典!
日本ANA全日空第2集 皮卡丘的鬼节佳年华
AG180.小遥VS哈利!用双打比赛登上舞台吧!
AG181.小遥VS小瞬!最后的战斗!(收服长尾怪手)
AG182.长尾怪手与大王!
AG183.音符鹉与神奇宝贝相声
AG184.袭击!走失的玛狃拉!
AG185.再度挑战金字塔!VS钢神柱!
AG186.小瞬VS小遥!永远的劲敌!
AG187.神奇宝贝中心大忙碌!
AG188.最初的神奇宝贝!最后的战斗!
AG189.决战!VS冰神柱!
AG190.小智VS小遥!最后一战(小遥的力壮鸡进化成火焰鸡)
AG191.旅行的结束,就是旅行的开始!(第二部大结局,小刚,小遥离队)
DP
DP1.启程!从双叶镇到真砂镇 (小光登场)
DP2.寻找皮卡丘!202号公路!(收服胖胖翁)
DP3.劲敌对战!三对三!(小光加入)
DP4.圆企鹅对蔷薇苞!小光初次对战!
DP5.收服树苗龟! (小智收服树苗龟)
DP6.迷惑之森,与真嗣的再度相遇
DP7.加油园企鹅!
DP8.谜之道馆的毒蛾斗士!
DP9.和卷耳兔一起玩 (小光收服卷儿兔)
DP10.神奇精灵表入手困难
DP11.小光!华丽大赛初赛!
DP12.华丽大赛战斗!劲敌对决!
DP13.胖胖翁加油! (胖胖翁---卷毛翁)
DP14.一切交给小刚吧!
DP15.黑铁道馆!平田VS真嗣!!
DP16.头盖龙VS皮卡丘!
DP17.古代神奇宝贝大进撃!
DP18.再次挑战黑铁道馆!暴跳龙
DP19.收服电栗鼠没问题? (小光收服电栗鼠)
DP20.神奇宝贝猎人J!
DP21.最强的鲤鱼王与最美的笨笨鱼!
DP22.电栗鼠VS长尾猴华丽大赛战斗!
DP23.爆走大刚蛇,守护匏牙狸之村!
DP24.对决!小智对抗皮卡丘!?
DP25.怪杰万花蔷薇与花传说!
DP26.神奇宝贝华丽大赛,园葶大会!
DP27.决战,圆企鹅对舵企鹅!
DP28.鬼飘飘与北风的使者!
DP29.小智与小光,双人合作赛没问题!?
DP30.白稠之森,蓑衣虫进化作战!
DP31.树苗龟对树苗龟!速度对决!
DP32.琥珀之城的女黄蜂!
DP33.好喜欢!神奇宝贝变装大赛!
DP34.叉尾浮鼬,通向最强的道路! (小光收服叉尾浮鼬)
DP35.四天王梧叶与古铜钟!
DP36.新奥时空传说!
DP37.白岱大会!对战菜子!
DP38.爆诞!自行车道路! (小刚获得粉红蛋)
DP39.皮卡丘来看家!
DP40.冠军登场
DP41.小光和小希以及双人表演
DP42.落雷兽训练中心!
DP43.巫妖!从噩梦中逃脱!
DP44.救助迷路的沼泽河马
DP45.再遇神奇宝贝猎人J!守卫盾面龙!! (小茂登场)
DP46.在迷路的混乱中!全体激活!!
DP47.米尔和凯西以及深水之下
DP48.小智与小光!朝向新的冒险前进!!
DP49.神奇宝贝华丽大赛! 绿缘大会
DP50.全员参加! 联协堆栈!!
DP51.小火猴VS镰刀猫鼬! 命运的对决!!
DP52.联协对战! 最终决赛!! (小智收服小火猴)
DP53.小火猴的眼泪!!
DP54.菜子与沙漠奈亚! 究竟为谁而离别! (小次郎失去了沙漠奈亚...)
DP55.长尾怪手和叉尾浮鼬! 各自的道路 (小智和小光交换了...)
DP56.鬼盆栽的要石
DP57.龅牙河狸心知肚明!
DP58.红鼻磁石! 灼热的灵魂!
DP59.雷鸣狮的眼眸
DP60.花蕊遗迹中的未知图腾 (长尾怪手—双尾怪手)
DP61.神奇宝贝华丽大赛! 花蕊大会
DP62.女仆咖啡店的大奶罐!
DP63. 三只小山猪与温泉蒸汽对战
DP64.滑翔天蝎和天蝎! 穿越风的迷宫! (小智收服天蝎,新嗣收服滑翔天蝎...)
DP65.帕奇利兹在沙暴河马的口中!?
DP66.路卡利奥 愤怒的波导弹
DP67.小光的道馆处女战
DP68.帷幕道馆!路卡利欧对抗泳气鼬!!
DP69.时尚达人”!名为银河队!!』
DP70:振作起来 铃铃铛!
DP71\72:神奇宝贝保育家,波导的路卡力欧(上、下)
DP73:再见了毒粉蝶!
DP74:皮卡丘!雷丘!通往进化之路!!
DP75:华丽大赛大师·米可利登场!!!
DP76:七星级餐厅!全套双人合作赛上吧! !(小遥客串登场!~)
DP77:大家皆劲敌!米可利杯!!
DP78:激斗!各自的对战!!
DP79:决战!小光对小遥!!
DP80:米可利杯决赛!VS梅卡阳玛!
DP81:象牙猪与计步器!
剧场版
1998年:宠物小精灵剧场版01超梦的逆袭 皮卡丘的暑假 超梦,我就在这里
1999年:宠物小精灵剧场版02洛奇亚的暴诞 皮卡丘的探险队
2000年:宠物小精灵剧场版03结晶塔的帝王 皮丘与皮卡丘
2001年:宠物小精灵剧场版04雪拉比与穿越时空的遭遇 皮卡丘心跳捉迷藏
2002年:宠物小精灵剧场版05水之都的守护神 皮卡皮卡的星空露营
2003年:宠物小精灵剧场版06七夜的许愿星 (跳舞秘密基地 ,幻影的神奇宝贝)
2004年:宠物小精灵剧场版07裂空的访问者
2005年:宠物小精灵剧场版08波导的勇者
2006年:宠物小精灵剧场版09沧海的王子
2007年:宠物小精灵剧场版10迪亚路卡VS帕鲁基亚VS黑啸灵(噩梦神)
2008年:宠物小精灵剧场版11鬼翼龙与冰空的花束
番外篇:雷皇-雷的传说
sem_wait() 减小(锁定)由sem指定的信号量的值.如果信号量的值比0大,那么进行减一的操作,函数立即返回.如果信号量当前为0值,那么调用就会一直阻塞直到或者是信号量变得可以进行减一的操作(例如,信号量的值比0大),或者是信号处理程序中断调用
sem_trywait() 和 sem_wait()是一样的,除了如果不能够对信号量立即进行减一,那么sem_trywait()就会返回一个错误(错误号是AGAIN)而不是锁定.sem_timedwait() 和 sem_wait()是一样的,除了如果减一操作不能立即执行的话,abs_timeout 指定了调用应该被阻塞的时间限制.abs_timeout 参数指向了一个结构体指定了由秒和纳秒组成的绝对的超时值:从1970-01-01 00:00:00 +0000纪元开始的UTC,结构体的定义如下:struct timespec {time_t tv_sec/* Seconds */long tv_nsec/* Nanoseconds [0 .. 999999999] */}如果超时值已经超过了调用规定的值,那么信号量不能被立即锁定,之后sem_timedwait() 为超时失败(error设置为ETIMEDOUT).
如果操作立即生效,那么sem_timedwait() 永远不会返回超时的错误,不管abs_timeout的值.更进一步的是,在这种情况下abs_timeout值的有效性都不会检查. EINTR The call was interrupted by a signal handlersee signal(7).//调用被信号处理中断
EINVAL sem is not a valid semaphore.//sem不是有效的信号量
The following additional error can occur for sem_trywait()://下面的错误是sem_trywait()可能发生的:
EAGAIN The operation could not be performed without blocking (i.e., thesemaphore currently has the value zero).//除了锁定无法进行别的操作(如信号量当前是0值).
The following additional errors can occur for sem_timedwait()://下面的错误是sem_timedwait()可能发生的:
EINVAL The value of abs_timeout.tv_nsecs is less than 0, or greater than orequal to 1000 million.//abs_timeout.tv_nsecs 的值比0小或者大于等于1000毫秒(译者注:纳秒的值不能比0小,不能比1秒大)
ETIMEDOUTThe call timed out before the semaphore could be locked.//在信号量锁定之前就超时了 对这些函数,信号处理程序总是会中断阻塞,不管是否使用了sigaction(2)的SA_RESTART标志位.
信号量强调的是线程(或进程)间的同步:“信号量用在多线程多任务同步的,一个线程完成了某一个动作就通过信号量告诉别的线程,别的线程再进行某些动作(大家都 在sem_wait的时候,就阻塞在那里)。当信号量为单值信号量是,也可以完成一个资源的互斥访问。有名信号量:可以用于不同进程间或多线程间的互斥与同步
创建打开有名信号量
sem_t *sem_open(const char *name, int oflag)
sem_t *sem_open(const char *name, int oflag, mode_t mode, unsigned int value)
成功返回信号量指针;失败返回SEM_FAILED,设置errnoname是文件路径名,但不能写成/tmp/a.sem这样的形式,因为在linux下,sem都是在/dev/shm目录下,可写成"/mysem"或"mysem",创建出来的文件都 是"/dev/shm/sem.mysem",mode设置为0666,value设置为信号量的初始值.所需信号灯等已存在条件下指定O_CREAT|O_EXCL却是个错误。
关闭信号量,进程终止时,会自动调用它
int sem_close(sem_t *sem)
成功返回0;失败返回-1,设置errno
删除信号量,立即删除信号量名字,当其他进程都关闭它时,销毁它
int sem_unlink(const char *name)
等待信号量,测试信号量的值,如果其值小于或等于0,那么就等待(阻塞);一旦其值变为大于0就将它减1,并返回
int sem_wait(sem_t *sem)
int sem_trywait(sem_t *sem)
成功返回0;失败返回-1,设置errno
当信号量的值为0时,sem_trywait立即返回,设置errno为EAGAIN。如果被某个信号中断,sem_wait会过早地返回,设置errno为EINTR
发出信号量,给它的值加1,然后唤醒正在等待该信号量的进程或线程
int sem_post(sem_t *sem)
成功返回0;失败返回-1,不会改变它的值,设置errno,该函数是异步信号安全的,可以在信号处理程序里调用它无名信号量,用于进程体内各线程间的互斥和同步,使用如下API(无名信号量,基于内存的信号量)
(1)、sem_init
功能:用于创建一个信号量,并初始化信号量的值。
头文件:
函数原型: int sem_init (sem_t* sem, int pshared, unsigned int value)
函数传入值: sem:信号量。pshared:决定信号量能否在几个进程间共享。由于目前LINUX还没有实现进程间共享信息量,所以这个值只能取0。
(2)其他函数。
int sem_wait (sem_t* sem)
int sem_trywait (sem_t* sem)
int sem_post (sem_t* sem)
int sem_getvalue (sem_t* sem)
int sem_destroy (sem_t* sem)
功能:sem_wait和sem_trywait相当于P操作,它们都能将信号量的值减一,两者的区别在于若信号量的值小于零时,sem_wait将会阻塞进程,而sem_trywait则会立即返回。sem_post相当于V操作,它将信号量的值加一,同时发出唤醒的信号给等待的进程(或线程)。
sem_getvalue 得到信号量的值。
sem_destroy 摧毁信号量。
如果某个基于内存的信号灯是在不同进程间同步的,该信号灯必须存放在共享内存区中,这要只要该共享内存区存在,该信号灯就存在。
互斥锁(又名互斥量)强调的是资源的访问互斥:互斥锁是用在多线程多任务互斥的,一个线程占用了某一个资源,那么别的线程就无法访问,直到这个线程unlock,其他的线程才开始可以利用这个资源。比如对全局变量的访问,有时要加锁,操作完了,在解锁。有的时候锁和信号量会同时使用的”
也就是说,信号量不一定是锁定某一个资源,而是流程上的概念,比如:有A,B两个线程,B线程要等A线程完成某一任务以后再进行自己下面的步骤,这个任务并不一定是锁定某一资源,还可以是进行一些计算或者数据处理之类。而线程互斥量则是“锁住某一资源”的概念,在锁定期间内,其他线程无法对被保护的数据进行操作。在有些情况下两者可以互换。
在linux下, 线程的互斥量数据类型是pthread_mutex_t. 在使用前, 要对它进行初始化:
对于静态分配的互斥量, 可以把它设置为PTHREAD_MUTEX_INITIALIZER, 或者调用pthread_mutex_init.
对于动态分配的互斥量, 在申请内存(malloc)之后, 通过pthread_mutex_init进行初始化, 并且在释放内存(free)前需要调用pthread_mutex_destroy.
原型:
int pthread_mutex_init(pthread_mutex_t *restrict mutex, const pthread_mutexattr_t *restric attr)
int pthread_mutex_destroy(pthread_mutex_t *mutex)
头文件:
返回值: 成功则返回0, 出错则返回错误编号.
说明: 如果使用默认的属性初始化互斥量, 只需把attr设为NULL. 其他值在以后讲解.
首先说一下加锁函数:
头文件:
int pthread_mutex_lock(pthread_mutex_t *mutex)
int pthread_mutex_trylock(pthread_mutex_t *mutex)
返回值: 成功则返回0, 出错则返回错误编号.
说 明: 具体说一下trylock函数, 这个函数是非阻塞调用模式, 也就是说, 如果互斥量没被锁住, trylock函数将把互斥量加锁, 并获得对共享资源的访问权限如果互斥量 被锁住了, trylock函数将不会阻塞等待而直接返回EBUSY, 表示共享资源处于忙状态.
再说一下解所函数:
头文件:
原型: int pthread_mutex_unlock(pthread_mutex_t *mutex)
返回值: 成功则返回0, 出错则返回错误编号.
条件变量常与互斥锁同时使用,达到线程同步的目的:条件变量通过允许线程阻塞和等待另一个线程发送信号的方法弥补了互斥锁的不足。在发 送信号时,如果没有线程 等待在该条件变量上,那么信号将丢失;而信号量有计数值,每次信号量post操作都会被记录
1. 互斥锁必须是谁上锁就由谁来解锁,而信号量的wait和post操作不必由同一个线程执行。
2. 互斥锁要么被锁住,要么被解开,和二值信号量类似
3. sem_post是各种同步技巧中,唯一一个能在信号处理程序中安全调用的函数
4. 互斥锁是为上锁而优化的;条件变量是为等待而优化的; 信号量既可用于上锁,也可用于等待,因此会有更多的开销和更高的复杂性
5. 互斥锁,条件变量都只用于同一个进程的各线程间,而信号量(有名信号量)可用于不同进程间的同步。当信号量用于进程间同步时,要求信号量建立在共享内存区。
6. 信号量有计数值,每次信号量post操作都会被记录,而条件变量在发送信号时,如果没有线程在等待该条件变量,那么信号将丢失。
读写锁
读写锁与互斥量类似,不过读写锁允许更高的并行性。互斥量要么是锁住状态要么是不加锁状态,而且一次只有一个线程可以对其加锁。
读写锁可以由三种状态:读模式下加锁状态、写模式下加锁状态、不加锁状态。一次只有一个线程可以占有写模式的读写锁,但是多个线程可以同时占有读模式的读写
锁。
在读写锁是写加锁状态时,在这个锁被解锁之前,所有试图对这个锁加锁的线程都会被阻塞。当读写锁在读加锁状态时,所有试图以读模式对它进行加锁的线程都可以得到访问权,但是如果线程希望以写模式对此锁进行加锁,它必须阻塞直到所有的线程释放读锁。虽然读写锁的实现各不相同,但当读写锁处于读模式锁住状态时,如果有另外的线程试图以写模式加锁,读写锁通常会阻塞随后的读模式锁请求。这样可以避免读模式锁长期占用,而等待的写模式锁请求一直得不到满足。
读写锁非常适合于对数据结构读的次数远大于写的情况。当读写锁在写模式下时,它所保护的数据结构就可以被安全地修改,因为当前只有一个线程可以在写模式下拥 有这个锁。当读写锁在读状态下时,只要线程获取了读模式下的读写锁,该锁所保护的数据结构可以被多个获得读模式锁的线程读取。
读写锁也叫做共享-独占锁,当读写锁以读模式锁住时,它是以共享模式锁住的;当他以写模式锁住时,它是以独占模式锁住的。
初始化和销毁:
#include
int pthread_rwlock_init(pthread_rwlock_t *restrict rwlock, const pthread_rwlockattr_t *restrict attr)
int pthread_rwlock_destroy(pthread_rwlock_t *rwlock)
成功则返回0, 出错则返回错误编号.
同互斥量以上, 在释放读写锁占用的内存之前, 需要先通过thread_rwlock_destroy对读写锁进行清理工作, 释放由init分配的资源.
读和写:
#include
int pthread_rwlock_rdlock(pthread_rwlock_t *rwlock)
int pthread_rwlock_wrlock(pthread_rwlock_t *rwlock)
int pthread_rwlock_unlock(pthread_rwlock_t *rwlock)
成功则返回0, 出错则返回错误编号.
这3个函数分别实现获取读锁, 获取写锁和释放锁的操作. 获取锁的两个函数是阻塞操作, 同样, 非阻塞的函数为:
#include
int pthread_rwlock_tryrdlock(pthread_rwlock_t *rwlock)
int pthread_rwlock_trywrlock(pthread_rwlock_t *rwlock)
成功则返回0, 出错则返回错误编号.
非阻塞的获取锁操作, 如果可以获取则返回0, 否则返回错误的EBUSY.
虽然读写锁提高了并行性,但是就速度而言并不比互斥量快.
可能这也是即使有读写锁存在还会使用互斥量的原因,因为他在速度方面略胜一筹。这就需要我们在写程序的时候综合考虑速度和并行性并找到一个折中。
比如: 假设使用互斥量需要0.5秒,使用读写锁需要0.8秒。在类似学生管理系统这类软件中,可能百分之九十的时间都是查询操作,那么假如现在突然来个个20个请求,如果使用的是互斥量,那么最后的那个查询请求被满足需要10后。这样,估计没人能受得了。而使用读写锁,应为 读锁能够多次获得。所以所有的20个请求,每个请求都能在1秒左右得到满足。
也就是说,在一些写操作比较多或是本身需要同步的地方并不多的程序中我们应该使用互斥量,而在读操作远大于写操作的一些程序中我们应该使用读写锁来进行同步
条件变量(condition)
条件变量与互斥量一起使用时,允许线程以无竞争的方式等待特定的条件发生。
条件本身是由互斥量保护的。线程在改变条件状态前必须首先锁住互斥量,其它线程在获得互斥量之前不会察觉到这种改变,因此必须锁定互斥量以后才能计算条件。
条件的检测是在互斥锁的保护下进行的。如果一个条件为假,一个线程自动阻塞,并释放等待状态改变的互斥锁。如果另一个线程改变了条件,它发信号给关联的条件
变量,唤醒一个或多个等待它的线程,重新获得互斥锁,重新评价条件。如果两进程共享可读写的内存,条件变量可以被用来实现这两进程间的线程同步。
1. 初始化:
条件变量采用的数据类型是pthread_cond_t, 在使用之前必须要进行初始化, 这包括两种方式:
静态: 可以把常量PTHREAD_COND_INITIALIZER给静态分配的条件变量.
动态: pthread_cond_init函数, 是释放动态条件变量的内存空间之前, 要用pthread_cond_destroy对其进行清理.
#include
int pthread_cond_init(pthread_cond_t *restrict cond, pthread_condattr_t *restrict attr)
int pthread_cond_destroy(pthread_cond_t *cond)
成功则返回0, 出错则返回错误编号.
注意:条件变量占用的空间并未被释放。
当pthread_cond_init的attr参数为NULL时, 会创建一个默认属性的条件变量非默认情况以后讨论.
2. 等待条件:
#include
int pthread_cond_wait(pthread_cond_t *restrict cond, pthread_mutex_t *restric mutex)
int pthread_cond_timedwait(pthread_cond_t *restrict cond, pthread_mutex_t *restrict mutex, const struct timespec *restrict timeout)
成功则返回0, 出错则返回错误编号.
这两个函数分别是阻塞等待和超时等待.
等待条件函数等待条件变为真, 传递给pthread_cond_wait的互斥量对条件进行保护, 调用者把锁住的互斥量传递给函数. 函数把调用线程放到等待条件的线程列表上, 然后对互斥量解锁, 这两个操作是原子的. 这样 便关闭了条件检查和线程进入休眠状态等待条件改变这两个操作之间的时间通道, 这样线程就不会错过条件的任何变化.
当pthread_cond_wait返回时, 互斥量再次被锁住.
pthread_cond_wait函数的返回并不意味着条件的值一定发生了变化,必须重新检查条件的值。
pthread_cond_wait函数返回时,相应的互斥锁将被当前线程锁定,即使是函数出错返回。
阻塞在条件变量上的线程被唤醒以后,直到pthread_cond_wait()函数返回之前条件的值都有可能发生变化。所以函数返回以后,在锁定相应的互斥锁之前,必须重新测试条 件值。最好的测试方法是循环调用pthread_cond_wait函数,并把满足条件的表达式置为循环的终止条件。如:
pthread_mutex_lock()
while (condition_is_false)
pthread_cond_wait()
pthread_mutex_unlock()
阻塞在同一个条件变量上的不同线程被释放的次序是不一定的。
注意:pthread_cond_wait()函数是退出点,如果在调用这个函数时,已有一个挂起的退出请求,且线程允许退出,这个线程将被终止并开始执行善后处理函数,而这时和条 件变量相关的互斥锁仍将处在锁定状态。
pthread_cond_timedwait函数到了一定的时间,即使条件未发生也会解除阻塞。这个时间由参数abstime指定。函数返回时,相应的互斥锁往往是锁定的,即使是函数出错返回。
注意:pthread_cond_timedwait函数也是退出点。
超时时间参数是指一天中的某个时刻。使用举例:
pthread_timestruc_t to
to.tv_sec = time(NULL) + TIMEOUT
to.tv_nsec = 0
超时返回的错误码是ETIMEDOUT。
3. 通知条件:
#include
int pthread_cond_signal(pthread_cond_t *cond)
int pthread_cond_broadcast(pthread_cond_t *cond)
成功则返回0, 出错则返回错误编号.
这两个函数用于通知线程条件已经满足. 调用这两个函数, 也称向线程或条件发送信号. 必须注意, 一定要在改变条件状态以后再给线程发送信号.
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)