一、进程
进程是指在系统中正在运行的一个应用程序,每个进程之间都是独立的,每个进程都运行在其专用且受保护的内存空间内
二、线程
一个进程要想执行任务就必须要有线程,每一个进程至少都要有一条线程。
线程是进程的基本执行单元,一个进程的所有任务都在线程中执行。
线程又分为主线程和子线程:
主线程:一个ios程序运行后,默认会开启一条...
分类:
移动开发 时间:
2015-03-17 23:47:10
阅读次数:
178
ArrayList是非线程安全的,Vector是线程安全的;HashMap是非线程安全的,HashTable是线程安全的;StringBuilder是非线程安全的,StringBuffer是线程安全的什么是线程安全?线程安全和非线程安全有什么区别?分别在什么情况下使用?非线程安全是指多线程操作同一个...
分类:
编程语言 时间:
2015-03-13 10:48:21
阅读次数:
180
主线程: 1 private void GetPolicy_Load(object sender, EventArgs e) 2 { 3 ////ThreadPool.QueueUserWorkItem(new WaitCallback(Thr...
分类:
编程语言 时间:
2015-03-02 14:45:38
阅读次数:
209
网络编程之TCP编程
前面已经介绍过关于TCP协议的东西,这里不做赘述。Java对于基于TCP协议的网络通信提供了良好的封装,Java使用socket对象来代表两端的通信窗口,并通过Socket产生IO流来进行网络通信。说白了,玩基于Socket的网络编程无非就是使用ServerSocket创建一个服务器,然后使用socket进行通信,如果复杂一点呢,在加入多线程操作,用NIO代替IO来实现非阻...
分类:
其他好文 时间:
2015-02-11 16:38:01
阅读次数:
146
第一种:使用BackgroundWorker进行进度条控制BackgroundWorker对象有三个主要的事件:DoWork - 当BackgroundWorker对象的多线程操作被执行时触发。RunWokerCompleted - 当BackgroundWoker对象的多线程操作完成时触发。Pro...
多线程操作中,需注意互斥性和可见性,重点了解下可见性。
(一)可见性问题来源
1.cpu和内存速度相差过高,引入缓存(cache、寄存器等);一个线程由线程id、指令计数器PC、寄存器集合和堆栈构成,详见《程序员的自我修养》。
每个线程有自己的工作内存,修改进程主内存的值,都需要拷贝到工作内存修改后,再回写,其他现场可能出现,读取到未回写的脏数据。
2....
分类:
移动开发 时间:
2015-01-27 13:31:34
阅读次数:
181
关于多线程操作,我相信大家都不陌生,如何开启一个线程之类我想就不用太详细的去描述,今天我们就来讲讲线程同步的安全的问题。
对于线程同步安全问题,一般是一个多线程对同一个资源同时操作的时候,会出现资源同时操作造成线程不安全的问题。那么这个时候我们需要去对公共资源进行同步保护。这个时候有三种情况
1、同步代码块,这个同步的锁是任意一个对象;
2、方法同步,这个同步的锁就是该方法所在的类;
3、...
分类:
编程语言 时间:
2015-01-27 09:28:53
阅读次数:
273
有CSDN的朋友问一个问题,“Lock关键字不是有获取锁、释放锁的功能吗?...为什么还需要执行Pulse?”也有朋友有些疑点,“用lock就不要用monitor了”,“Monitor.Wait完全没必要”,“为什么Pulse和Wait方法必须从同步的代码块内调用?”这些疑问很自然。在大部分情况下,...
分类:
编程语言 时间:
2015-01-25 13:44:28
阅读次数:
209
将一个任务分成若干段,确保每段需要CPU 关照时长小于定时器中断节拍长,这样CPU在处理这些长任务时,就不会影响到其它任务的执行。 Easy51RTOS 正是基于以上程序设计思想,总结完善后提出一种耗费资源特别少并且不使用堆栈的多线程操作系统,这个操作系统以纯C语言实现,无硬件依赖性,需要单片机的资...
分类:
其他好文 时间:
2015-01-20 13:33:00
阅读次数:
464
在了解多线程之前我们先了解一下进程和线程的关系 一个程序至少有一个主进程,一个进程至少有一个线程。 为了保证线程的安全性请大家看看下面介绍?Delphi多线程同步的一些处理方案大家可以参考:http://www.cr173...
分类:
编程语言 时间:
2015-01-09 19:37:29
阅读次数:
356