多线程编程需要注意的几点?
1、不要在子线程操作UI控件2、如果你操作了,也绝对不能调用UpdateData来更新界面,否则程序Crash3、这一条建立在第一条基础上---你在子线程操作UI控件,不可以让主线程等待某些条件(如等待子线程关闭,而子线程正在操作UI、等待进入临界区,而子线程已经进入,并且操作UI),否则会出现假死..
.4、最好方案:子线程操作数据,完成之后,通知主线程进行更新....
为什么要使用并发(多线程)编程?
并发编程又叫多线程编程。在程序中,往往有很多很耗时的工作,比如上传文件、下载文件、跟客户聊天需要长时间建立连接。这种时候,一个线程是服务不了多个用户的,会产生因为资源独占产生的等待问题。例如:编写一个耗时的单线程程序:新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX_SECOND,标题为“延时6秒”,添加按钮的响应函数,代码如下:voidCSingleThreadDlg::OnSleepSixSecond(){Sleep(6000);//延时6秒}编译并运行应用程序,单击“延时6秒”按钮,你就会发现在这6秒期间程序就象“死机”一样,不在响应其它消息。为了更好地处理这种耗时的操作,我们有必要学习——多线程编程。
并发编程是什么意思?
并发是指在同一时间段内,处理多个任务或多个操作的能力。在计算机领域,指的是处理器或操作系统可以同时处理多个任务或进程。并发技术在计算机编程、多用户操作系统、数据库管理系统、网络通信等领域得到广泛应用,可以提高系统的效率和响应速度。
并发编程怎么保证有序性?
在java的并发编程中,一般用synchronized来保证操作的有序性,还可以保证可见性和原子性,另外也可以用volatile来保证有序性,也可以保证可见性。
0