能力值:
( LV3,RANK:20 )
|
-
-
26 楼
汇编可以调用win api。
高级语言的线程操作是通过调用win api完成的
|
能力值:
( LV2,RANK:10 )
|
-
-
27 楼
那Java呢 或者说Java在jvm的平台上它才有多线程??
|
能力值:
( LV2,RANK:10 )
|
-
-
28 楼
进程和线程这些东西是系统的事,系统会提供API(老师说Linux下叫systemcall),你去调用就好
|
能力值:
( LV2,RANK:10 )
|
-
-
29 楼
在汇编语言中,有多线程的说法. 详见我的帖子< 使用汇编语言编写Windows多线程软件>
http://bbs.pediy.com/showthread.php?p=1298061#post1298061
涉及如何在汇编语言中调用Windows API,创建线程,管理线程(挂起,恢复),同步线程,终止线程.
希望能回答你的问题,如有问题可以给我发消息.
如果觉得有用请顶一下我的帖子,谢谢!
|
能力值:
( LV2,RANK:10 )
|
-
-
30 楼
额额,用汇编是可以实现多线程的,只不过是表面上的多线程,因为它都是调用系统api嘛,最后都是要编译成机器码的,结果都一样,至于多cpu物理支持多线程…我不是太懂,不过这个应该叫做并发吧,可我不了解并发跟多线程有什么联系和区别…
|
能力值:
( LV2,RANK:10 )
|
-
-
31 楼
应该说是有多线程的说法的,内核开发人员就可以通过intel提供的线程切换指令进行状态的切换。
|
能力值:
( LV9,RANK:140 )
|
-
-
32 楼
反汇编一个多线程bin看看~~~~
|
能力值:
( LV2,RANK:10 )
|
-
-
33 楼
每个都看了一下,我来说说吧。
1,汇编是没有多线程的,它做的事情仅仅是实现程序。
2,程序的运行才可以谈到多线程,比如说Windows,比如Linux,如果大家有兴趣的话,可以去看看os是如何写的,os的核心就是进程调度,同一个时间片,只能有一个进程在执行。
3,线程的实现,大家也可以去看看操作系统内部的实现,一个进程可以有多个线程,而同一时间也只会有一个线程来执行。
注意:进程还有进程中的线程都是由操作系统来实现的。
然后再解释一下多cpu的情况。
多cpu是不完整的多进程彻底并发。
比如2个cpu,那么这个时候,可以同时(注意不是人眼的同时)运行两个进程
但是说不完整又是什么原因呢?
很简单,可以参照进程的定义,每个进程都会有独占资源,但是如果系统无法同时给两个进程分配足够的独立资源的时候,那么这个就是伪同时了。
|
能力值:
( LV2,RANK:10 )
|
-
-
34 楼
操作系统的时间片轮转,你的单线程工作比如只占一个时间片中的20%,那么你写成多线程后,在同一个时间调度内,你的工作占了>20%,相同的时间片,操作系统处理你的工作就多了,那么就看起来快了,当前操作系统全是“串行”计算的,”并行“只是人的感知认识。
|
能力值:
( LV2,RANK:10 )
|
-
-
35 楼
在linux下,多线程通过pthread_create实现。本质上其实是创建了共享内存空间的进程,如果你用汇编调用fork的系统调用,配上合适的参数(好像是VM_CLONE),也可以实现多线程.
|
能力值:
( LV2,RANK:10 )
|
-
-
36 楼
多线程主要是在80286以及以上的处理器中的功能,最早的32位多线程是80386,不知道你懂不懂80386汇编,他们的指令形式差不多,区别就在于工作机制和32位.如何你想搞多线程,首先要会386下的汇编,比起8086处理器,,
如:分页机制(虚拟存储器),多线程等..还有很多功能,至于它多线程的工作机制主要是内存查表的方法,将所有程序的地址段地址和偏移地址放入GDT表和IDT表中,再用时钟频率的中断来不断读取这张表到cs:eip寄存器中和将cs:eip内容保存如这样表,就达到了交换代码地址,当然这当中还牵涉到很徐徐多多的概念,比如各个寄存器的保存,代码段的保护,各种控制门,描述符,和cpu内的各种寄存器保存表的地址,这是整整一本书的概念,建议起看扬季文的书叫做8086汇编语言程序设计,上半本书是讲8086,是基础,下半本书是80386是386的工作机制和原理和汇编方法
不知道你满意吗
|
能力值:
( LV2,RANK:10 )
|
-
-
37 楼
每个核心可以一直执行特定的线程是否可以认为 单核CPU就像一个人..同时只能干一件事...多核心CPU就像多个人....每个人就可以单独在该段时间执行不同的事?
|
能力值:
( LV2,RANK:10 )
|
-
-
38 楼
汇编是顺序执行的吧?应该没有多线程的可能。不知道说的对不对
|
能力值:
( LV3,RANK:20 )
|
-
-
39 楼
汇编照样开线程 先加载动态链接库 然后再掉API CreatProcess 随便开线程 和语言没有关系
|
能力值:
( LV2,RANK:10 )
|
-
-
40 楼
线程和是否汇编语言无关啊,最近在学WinApi,直接用汇编调Windows的API就能用多线程啊
|
能力值:
( LV2,RANK:10 )
|
-
-
41 楼
这个完全不知道了,来冒泡共同学习吧!
|
能力值:
( LV2,RANK:10 )
|
-
-
42 楼
汇编和C语言都没有多线程这个概念。
多线程是跟操作系统或者固件相关的。
对于C和WINDOWS,所谓的多线程就是用C去调用某个函数,至于多线程的实现是有编译器和操作系统实现的。
嵌入式也一样。
|
|
|