最近在做一个仿手机系统的软件(JAVA),其中实现了短信,电话薄,文件管理,记事本和多媒体的播放(图片,MP3,电
影),不过目前只完成了三个功能(短信发送,接收),电话薄,文件管理(复制,修改),做完了就上传上来和大家共享
下...
还是进入正题吧!
线程,有人问我为什么要线程?它是干嘛的?
首先,线程是一个用来执行任务的,打个比方,线程就是一个人,他可以帮你完成一个,或者多个事情!
线程可以通过继承,接口来实现,然后除理一个一个的任务,当然还有匿名线程。
今天我犯了一个关于线程的错误,有可能你一不小心就犯了同样的错,资源共享!
那什么又叫资源共享呢?下面我简要的作个解释。如:一个线程正在执行一项任务,但是它突然又接到另外一个任务,那这个
任务的优先级和接到的任务是一样的,那接到的任务又一定要执行,但是线程又要执行开始的任务,那么就是资源共享了。
再说下死锁,其它类似资源共享,只不过是在多线程中,多个线程因为得不到优先执行而都进入等待状态。例如,如果线程A
锁住了记录1并等待记录2,而线程B锁住了记录2并等待记录1,这样两个线程就发生了死锁现象。
还有同步,线程的同步。这也是要注意到的,如:我们修改数据A,但是我们现在用了两个线程或者多个线程来修改,那A最
后的结果到底是哪个线程修改的结果呢?这个时候一定要用到同步,也就是在同一个时刻,只允许一个线程来访问A,这样我们
就可以避免这个问题了。
谈这个就是为了我们编程朋友注意不要出现这些错误!那怎么处理呢?
对于资源共享,我们只要新建一个线程就可以了,而死锁的就要多注意用线程的优先级来避免或者减少死锁的问题!