QQ网名大全

c 多线程 问题

这还不简单,是没有解决同步的问题。 操作系统执行指令是由时间片组成的。你那个变量i,又没有规定只能一个人访问。第一个线程执行了,i=0,时间片到了,轮到第二个线程执行了,这时i=0,输出来了。然后第一个线程轮到执行了,又是输出0,刚才没有输出。还有就是多核CPU的问题。最重要的就是没有做到线程同步。我只能说到这份上了。
等你学了线程同步,就知道原因所在了。想当初,我也困了好久。
佚名
2024-06-02 03:09:43
最佳回答
类似问题(10)
  • 佚名
    2024-06-02 23:24:20

    求c#多线程实例

    Thread th=new Thread(new ThreadStart(方法));th.Name="aa" 为线程命名th.Priority=ThreadPr...

  • 佚名
    2024-06-02 21:59:30

    C 11线程没有匹配的函数调用问题,怎么解决

    detach调用之后,目标线程就成为了守护线程,驻留后台运行,与之关联的std::thread对象失去对目标线程的关联,无法再通过std::thread对象取得...

  • 佚名
    2024-06-02 00:00:52

    qt环境怎么用c语言写多线程

    没必要用C语言,直接用Qthread.如果用C语言写的话就用不到QT的platform dependence了。就不用QT就可以了。如果必须要用的话linux ...

  • 佚名
    2024-06-02 04:50:12

    c语言多线程

    main(){if(!fork()) { //代码 //...新线程,与原线程共享数据空间 }else { //代码 //..原线...

  • 佚名
    2024-06-02 17:16:06

    C语言多线程

    win和linux下稍有不同,给你个windows下的例子:#include <windows.h>#include <stdio.h>//#inc...

  • 佚名
    2024-06-02 18:36:31

    C语言怎样实现多线程?

    首先你要有控制蛇移动方向的全局变量(定义在main以外因为线程函数也要调用它,每次键盘输入都会修改它的值), 比如 char direction 'a' ==...

  • 佚名
    2024-06-02 00:02:39

    c的多线程实现

    #include <stdio.h>#include <pthread.h>void thread(void){int i;for(i=0;i<...

  • 佚名
    2024-06-02 02:30:40

    c语言线程池关于空闲线程队列的疑问?

    没错,没有这些队列照样可以做线程池,只是有了这些队列可以控制一下每个工作线程的负载

  • 佚名
    2024-06-02 08:00:00

    C#如何创建和控制多线程?

    一样的,比如Thread[] threads=new Thread[10];//公共变量数组//循环的时候就可以比如这样for(int i=0;i<thr...

  • 佚名
    2024-06-02 08:00:00

    linux下线程同步问题

    进程or线程? posix消息队列