1 并发与并行
课本定义:并发 几个事件在同一时间间隔发生 并行 同一时刻发生,在宏观上同时进行 对单处理机实际是分时进行
理解一下 就像 比赛里 100米 和 4X100接力 的区别吧
并发:concurrence
- n. 同时发生;赞同;合作
并行:
- n. 平行线;对比
- vt. 使…与…平行
- adj. 平行的;类似的,相同的
2 引入进程(分配资源的基本单位),线程的目的
进程:使程序并发执行 类似 io 和计算 加载到不同进程则可以实现并发;
使内存中有多个程序运行 提高内存利用率
线程: 比进程小的单位 便于调度 进一步提高并发
3 异步同步
- asynchronous adj. [电] 异步的;不同时的;不同期的
同步
配置进程同步机制使作业每次都有相同的结果
在网络通信的定义:(发微信与打电话)
异步 接收方不知道发送方合适发来信息 通过开始位和停止位标志信息
(字符流或帧)
同步 比特流包含校验序列和起止位 数据块间的时间间隔固定
在程序设计中
普通B/S模式(同步)AJAX技术(异步)
C# invoke begininvoke (sendmessage postmessage)
SendMessage是windows api,用来把一个消息发送到一个窗口的消息队列。这个方法是个阻塞方法,也就是操作系统会确保消息的确发送到目的消息队列,并且该消息被处理完毕以后,该函数才返回。返回之前,调用者将会被暂时阻塞。
PostMessage也是一个用来发送消息到窗口消息队列的api函数,但这个方法是非阻塞的。也就是它会马上返回,而不管消息是否真的发送到目的地,也就是调用者不会被阻塞。