文档介绍:2010 年第 3 期 SCIENCE & TECHNOLOGY INFORMATION ○高校讲坛○科技信息
高职学生如何掌握 Java 多线程同步技术
王沛礼
南昌理工学院计算机科学与技术系江西南昌
( 330013)
摘要多线程同步编程是高职学生普遍感到困难的学习内容本文针对高职学生在学习多线程同步编程中容易忽视混淆疑惑及
【】Java , 、、
应考虑的主要技术问题在举例逐一分析比较解释后提出了较为清晰简练的编程步骤以期学生快速掌握
, 、、, 、, 。
关键词线程多线程同步同步与共享
【】Java ;Java ;
1 多线程同步程序的主要架构} }
主控类
如用面向对象的编程方法成功描述多线程同步问题首先 public class Mana_th //
Java ,
应明了多线程同步程序的结构框架架构笔者给出的程序是一长{ public static void main (String args[ ])
( ), ⑴
期被忽视的多线程同步程序的基本架构{ Share_Ar sa =new Share_Ar ( );
[1][2][3]: 启动线程
程序(new Th(sa,2)).start( ); //
⑴:
(new Th(sa,-3)).start( );
!
class Share_Ar #
#共(new Th(sa,6)).start( );
…………#
{ #享共
类型# (new Th(sa,-5)).start( );
public < > fun_1 ( ) {…} #方享
" } }
#法区
…………# 从程序可以看出多线程同步程序的主要结构框架分为三大部
1 类
# ⑴,
类型~
#
public < > fun_n ( ){…} n 分三大类
# ( ):
#
} $ 主控类定义主线程和产生自定义线程对象的区域也是
①: main ,
!
class Th_1 extends Thread # 运行的入口之处
# 。
{ Th_1 (Share_ Ar sa, …) # 共享区类把需要共享的变量放在一至多个共享方法中而这
# : ,
# ②
{ th_sa = sa; …} # 些方法又集中于此类以备各线程对象调用共享
# , 。
#
…………# 线程类一个线程定义成一个类可以定义一至多个类每个线
# ③: , 。
public void run( ) # 各程类都要有一个方法用于描述线程体在线程体内调用共享区
# run , 。
# 含
{ ……# 线的相关方法以实现共享
调用的语句# 一, 。
< th_sa fun_1 > } } # 程这里要解疑的是
# 个
# 类:
" r
………… u 多线程同步一般要在中定义两种类对象一是共享区类
# 1
n ① main ,
# ~
class Th_n extends Thread # n 对象二是线程类对象
# 方, 。
#
{ Th_n (Share_ Ar sa, …) # 法无论有多少个线程类在各自